• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kod HTML w jednym pliku na wszystkich stronach, wywoływanie kodu.

VPS Starter Arubacloud
0 głosów
1,323 wizyt
pytanie zadane 12 stycznia 2019 w HTML i CSS przez Kacperhehe Bywalec (2,930 p.)
Witam, ostatnio się zastanawiałem czy jest jest taka możliwość:

Zrobienie pliku navbar.html

I w index.html dodać jakiś kod który wywoła kod z navbar i się pojawi w index.

W czystym htmlu raxczej tego nie ma.
Pomyślałem od jakieś technologii czy coś :x
komentarz 12 stycznia 2019 przez Kacperhehe Bywalec (2,930 p.)
przeniesione 13 stycznia 2019 przez Comandeer
Albo coś żeby nie edytować jednej rzeczy na wszystkich stronach.

6 odpowiedzi

0 głosów
odpowiedź 12 stycznia 2019 przez niezalogowany
musisz do projekty dolozyc php i korzystac z funkcji include
1
komentarz 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
a to tylko PHP istnieje na tym świecie że tak od razu gro ludzi tutaj to poleca :) ?
komentarz 12 stycznia 2019 przez HaKIM Szeryf (87,590 p.)

Oczywiście, że nie. Choć, nadal to PHP ma najmniejszy próg wejścia z języków back-endowych. ;)

php -S 127.0.0.1:8080 -f index.php
// index.php
<DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
<?php include 'navbar.php' ?>

<h1>I po krzyku</h1>
</body>
</html>

A teraz weź to sobie porównaj do Java, .NET czy konfigurowania Node.js'a. :D

komentarz 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
no dyskutowałbym szczerze mówiąc... wg mnie nie ma kompletnie sensu porównywanie języków pod kątem ich wstępnej konfiguracji... A co jest trudnego np. w skonfigurowaniu springa z onlinowego startera? Czy node... naprawdę odpalenie prostego servera jest obarczone miliardami linii kodu :)?
komentarz 12 stycznia 2019 przez HaKIM Szeryf (87,590 p.)

No bo przecież to nie problem zaciągnać composera, symfony, twig, apache do tego trochę obiektówki i tyci, tyci MVC aby zrobić include, co nie? Wybacz za ten sarkazm, ale sam się prosiłeś:

Czy node... naprawdę odpalenie prostego servera jest obarczone miliardami linii kodu :)?

Wyjaśnienie: Symfony - Spring. Apache - Tomcat. Twig - Thymleaf. W symfony lecisz OOP. Composer - Maven.

Jestem otwarty na zmianę opinii, że czysty PHP nie jest najlepszym wyborem jeśli chodzi o backend do rozwiązania tego problemu użytkownika Kacperhehe, także możesz śmiało próbować mnie przekonać.

Jeśli chodzi o najprostsze rozwiązanie w ogóle, jeszcze z niższym progiem wejścia to zrobiłbym jak napisała basia_kier: https://forum.pasja-informatyki.pl/406477/kod-html-w-jednym-pliku-na-wszystkich-stronach-wywolywanie-kodu?show=406497#a406497

 

komentarz 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
oki, jak najbardziej masz rację, tylko że za chwilę ten Kolega będzie chciał apkę rozwijać, dojdą jakieś formsy, jakieś galerie, kilkanaście kolejnych elementów i podstron i nagle okazuje się, że jednak chyba było warto poświęcić ten jeden wieczór więcej na konfigurację większego narzędzia, niż iść po najprostszej ścieżce :) Spotykałem już takich klientów co na wstępnej rozmowie chcieli "wizytówkę", a potem mówili "ale fajnie gdyby był jakiś katalog... jakieś coś itp." :)
komentarz 12 stycznia 2019 przez HaKIM Szeryf (87,590 p.)

Rozumiem.

Cóż, wtedy warto aby użytkownik zapoznał się z Twoją odpowiedzią pod tym postem.

Choć, wydaje mi się, że jeden wieczór nie styknie na ogarnięcie tylu nowych rzeczy. Z jakimś kolegom co ogarnia temat może w 3 dni napisałby te formsy w zjadliwej formie - taka se o gra słów - w nowoczesnym frameworku. Co chcę powiedzieć to to, że uważam, iż więcej krzywdy by sobie zrobił zaczynając projekt dla klineta z Symfony/Spring/Node niżeli include i $_POST do obsługi formularza.

komentarz 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)

Co chcę powiedzieć to to, że uważam, iż więcej krzywdy by sobie zrobił zaczynając projekt dla klineta z Symfony/Spring/Node niżeli include i $_POST do obsługi formularza.

I tutaj się z Tobą nie zgodzę, bo w mojej ocenie jeśli ktoś chce robić projekty DLA KLIENTA to musi ogarniać takie rzeczy jak konfiguracje itp. to nie może być osoba początkująca, ale to moje subiektywne zdanie.

komentarz 12 stycznia 2019 przez HaKIM Szeryf (87,590 p.)

 w mojej ocenie jeśli ktoś chce robić projekty DLA KLIENTA to musi ogarniać takie rzeczy jak konfiguracje itp. to nie może być osoba początkująca, ale to moje subiektywne zdanie.

Uważam, że to dyskusja na inny temat. Mianowicie czy ktoś zielony powinien robić strony dla klientów czy nie natomiast nie tego czy osobie zielonej w programowaniu frameworki jak Symfony czy Node zaszkodzą przy próbie stworzenia projektu dla klienta - a tego tyczył się zacytowany przez Ciebie fragment.

komentarz 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
oki, nie będziemy tworzyć offtopica :)

Reasumując polecam więc, i pewnie tu będziemy zgodni, aby najpierw nauczyć się w miarę dobrze czystego PHP i tych najprostszych metod z include itp. ale gdy ogarnie się to na 1-2 prostych stronkach to warto uderzać w bardziej profesjonalne rozwiązania i wtedy faktycznie przysiąść uczciwie do poznania ekosystemu, konfiguracji jakiegoś frameworka itp. W sumie jedyne co to chyba symfony w PHP jest takim dość dużym tworem, więc może na początek coś łatwiejszego, aby chwycić ogólne załóżenia MVC - ja pamiętam, że kiedyś do lekkich stronek brałem codeignitera, ale nie wiem jak teraz wygląda świat frameworków w php :)
komentarz 12 stycznia 2019 przez HaKIM Szeryf (87,590 p.)

No i amen.

Tylko odpiszę na:

W sumie jedyne co to chyba symfony w PHP jest takim dość dużym tworem, więc może na początek coś łatwiejszego, aby chwycić ogólne załóżenia MVC - ja pamiętam, że kiedyś do lekkich stronek brałem codeignitera, ale nie wiem jak teraz wygląda świat frameworków w php :)

Symfony stał się bardziej micro-frameworkiem a może nawet component-frameworkiem i chwała mu za to. Jest lżejszy niżeli Laravel czy CodeIgniter. CodeIgniter, co prawda bardzo przyjazny w użyciu, jest po prostu przestarzały. Możesz myśleć o nim jako jQuery, ale na mniejszą skalę.

[...] aby chwycić ogólne załóżenia MVC

Imo. nic prostszego: C - Controller. V - Templatki. M - WSZYSTKO. :D

0 głosów
odpowiedź 12 stycznia 2019 przez TeslaX93 Gaduła (3,590 p.)
0 głosów
odpowiedź 12 stycznia 2019 przez Comandeer Guru (599,730 p.)

Osobiście polecałbym zainteresować się generatorami statycznych stron, bo rozwiązują właśnie ten problem: pozwalają trzymać osobno szablon strony (czyli wszelkie niezbędne elementy) i jedynie podstawiać do niego treść. Choć początkowo takie rozwiązanie może wydawać się armatą na muchę, jest dość proste do przyswojenia.

Chyba najłatwiejszym tego typu generatorem jest 11ty. Z kolei najpopularniejszy jest bez wątpienia Jekyll. A jak nam zależy na w miarę fajnymi GUI – Publii.

0 głosów
odpowiedź 14 stycznia 2019 przez Kacper Sas Dyskutant (8,460 p.)

Do tego tematu prowadzi link podany tutaj.

Ewentualnością był JS. https://codepen.io/anon/pen/PXXKQN.

–1 głos
odpowiedź 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
Musisz wybrać jakiego typu aplikację chcesz robić, czy podejście bardziej monolityczne, czyli wszystko server-side-rendering czy aplikację SPA + API.

Ja jestem zwolennikiem drugiej opcji, ale warto w sumie poznać oba rozwiązania aby świadomie wybrac. Co do pierwszego to musisz wziąć jakiś język back-endowy i najlepiej system szablonów aby nie mieszać logiki biznesowej i templatek, warto od razu uczyć się dobrych wzorców.

Jeśli miałby to być tak osławiony tutaj na forum PHP to są szablony np. Twig, czy dawniej Smarty. Ale jest wiele innych rozwiązań, np. bardzo ciekawe rozwiązania są w Spring Web w Javie, jest bardzo ładny podział MVC i fajne systemy templatek. W PHP możesz też wziąć jakiś framework np. Symfony albo robić bez niego, zależy jak duża ma to być apka. Jest też node jeśli wolałbyś bardziej JS niż PHP, Javę czy .NET itp. Do node też są systemy templatek.
komentarz 12 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
skąd te negatywy...? W mojej opinii podałem gotowe rozwiązania, czyli np. PHP z Twigiem czy Springa z thymeleaf itp.
komentarz 13 stycznia 2019 przez Comandeer Guru (599,730 p.)

Bo chyba trochę pojechałeś ;) Jak powiesz początkującemu "to se strzel tutaj REST API na mikroserwisach i renderuj przy pomocy middleendu komponentowy front w React", to się co najwyżej skuli w kącie w pozycji embrionalnej.

Na początku szablony czy PHP-owy include (czy też jego odpowiednik w innym języku) starczą aż nadto i rozwiążą problem separacji treści od prezentacji.

komentarz 14 stycznia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
a czy ja tu pisałem o mikroserwisach :) ?

a o korzystaniu z API to troszkę Twoja odpowiedź brzmi tak, jakby to dzisiaj było jakieś super wyzwanie i zaawansowane operacje... serio? Dzisiaj większość aplikacji korzysta z jakiegoś API czy to swojego czy zewnętrznego i chyba lepiej uczyć się z tym pracować niż iść na najniżeszej linii :)

PHP nie jest zły i nie napisałem tego, może być include itp. podałem tylko też inne opcje, a jeśli ktoś się uczy od zera to co za różnica czy to PHP/Twig czy nie wiem, Java/Spring/thymelaf czy node/ejs itp. Język jak język, wcale nie ma między nimi jakiś mega dużych różnic zresztą język to tylko narzędzie a dokumentacje są w mojej ocenie dobre do każdej z trzech powyższych opcji.

Ponad to jeśli ktoś uczy się typowo np. frontu to może nie ma sensu aby meczył się z PHP jak może mieć wsio na JS w node?
komentarz 14 stycznia 2019 przez Comandeer Guru (599,730 p.)

a czy ja tu pisałem o mikroserwisach :) ?

Nie, ale w pierwszym zdaniu pada słowo "monolityczne" ;)

Dzisiaj większość aplikacji korzysta z jakiegoś API czy to swojego czy zewnętrznego i chyba lepiej uczyć się z tym pracować niż iść na najniżeszej linii

No to jak uczymy kogoś pływać, to wypłyńmy na środek Rowu Mariańskiego i rzućmy ich do wody z młyńskim kamieniem u szyi. Może wypłynie :P

Jak sam zauważyłeś: aplikacje. Niemniej wciąż większość internetu to proste strony, których głównym celem jest przekazywanie informacji. One nie potrzebują takiej architektury.

Poza tym, żeby móc się sensownie posługiwać API, trzeba rozumieć albo jak działa REST, albo GraphQL. A to już nie jest trywialna wiedza. 

–3 głosów
odpowiedź 12 stycznia 2019 przez niezalogowany
Zaraz mnie zakrzyczą tutejsi spece, ale jak bez serwera to proponuję JavaScript. Poczytaj o document.write i wstawieniu skryptu na stronę. Plusy: masz nawigację w jednym pliku dostępną na każdej stronie witryny i jak coś się zmieni to od razu na wszystkich stronach (coś jak arkusz CSS dla całej witryny). Minusy: specjaliści ci napiszą :)
komentarz 12 stycznia 2019 przez niezalogowany
No i miałam rację, już minusik wpadł od jakiegoś "ekspierda". Człowiek pyta, bo widać nigdy nie includował treści na stronie. No to "ekspierdzi" zaczną  mu podsuwać rozwiązania z księżyca (dla niego), a potrzeba najprostszej odpowiedzi. I taka jest: stronę ma lokalnie na swoim kompie - JavaScript, stronę ma na serwerze: include z PHP. Z cały szacunkiem, ale odpowiedź Tomka Sochackiego nic mu nie powie.
komentarz 12 stycznia 2019 przez Comandeer Guru (599,730 p.)
Proponuję zachować trochę kultury i nie robić od razu wycieczek osobistych.
komentarz 12 stycznia 2019 przez niezalogowany
Swoją uwagę powinieneś skierować do kogo innego. Nikt merytorycznie nie skomentował mojej odpowiedzi, a minusy lecą.
1
komentarz 12 stycznia 2019 przez Comandeer Guru (599,730 p.)

Trudno się merytorycznie odnieść do:

Zaraz mnie zakrzyczą tutejsi spece

 Minusy: specjaliści ci napiszą :)

 No i miałam rację, już minusik wpadł od jakiegoś "ekspierda".

Jeśli chcesz merytorycznej dyskusji, to wypada zacząć od wypowiedzi, do której można się merytorycznie odnieść.

komentarz 12 stycznia 2019 przez niezalogowany
"Zaraz mnie zakrzyczą", bo jak zauważyłam "szkolne" rozwiązania nie są tu lubiane. A przecież nie tylko spece i profesjonaliści kodują, ale może ktoś chce zrobić zadanie na zajęcia lub dla swej przyjemności. Sami zaczynaliście od frameworków, czy od prostych stron? Rozwiązana muszą być dostosowane do poziomu pytającego, no chyba, ze ktoś odreagowuje kompleksy i musi się wyżyć na mniej zaawansowanych.

"Minusy: specjaliści ci napiszą". Tu liczyłam na podanie wad zaproponowanego rozwiązania. Takowych nie podano, ale od razu minusy poleciały.

Ekspert odnióśł by się merytorycznie do wypowiedzi, a ekspierd zrobił jak zrobił. No cóż, strzałki naciska się łatwo, klepnąć w klawiaturę już jest trudniej.
komentarz 12 stycznia 2019 przez HaKIM Szeryf (87,590 p.)
A może ludzie nie daja Ci łapek w dół za część merytoryczną? ;)
komentarz 13 stycznia 2019 przez niezalogowany

No to może ty podasz wady rozwiązania z JS dla początkującego?

komentarz 13 stycznia 2019 przez HaKIM Szeryf (87,590 p.)

No to może ty podasz wady rozwiązania z JS dla początkującego?

Niestety, ale to nie będę ja.

Tak swoją drogą to ja bym użył Twojego rozwiązania, gdybym nie miał chęci na żadne backendy. :p

https://forum.pasja-informatyki.pl/406477/kod-html-w-jednym-pliku-na-wszystkich-stronach-wywolywanie-kodu?show=406629#c406629

2
komentarz 13 stycznia 2019 przez Comandeer Guru (599,730 p.)

Dobrze, to ja podam.

Po pierwsze, document.write jest uważane za bardzo złą praktykę i w realnym świecie jej się praktycznie nie używa. De facto zawsze jest lepszy sposób zrobienia danej rzeczy. W przypadku tego typu menu choćby wywołanie insertAdjacentHTML lub użycie innerHTML. Zasoby wiedzy potrzebne do zrobienia tego są praktycznie takie same, a jest to o wiele lepsza metoda.

Po drugie, document.write działa bowiem tylko w miejscu wywołania oraz psuje optymalizację sposobu wczytywania strony przez przeglądarkę (tzw. speculative rendering). Jest to na tyle niewydajne, że Chrome ostrzega przed używaniem, a czasami wręcz blokuje używanie. A w świecie, w którym wydajność jest jednym z głównych wyznaczników jakości, tego typu rzeczy trzeba wpajać od samego początku.

Po trzecie, przerzucanie tego typu krytycznych zadań na JS jest tak naprawdę niezgodne z Progressive Enhancement, które wciąż pozostaje głównym sposobem tworzenia stron (ale także i aplikacji!) internetowych. Nie można uczyć podstaw, nie wspominając o najważniejszych, podstawowych zasadach.

Po czwarte, zainwestowanie nieco więcej czasu i ogarnięcie choćby generatorów statycznych stron czy superprostego SSI jest bardziej przyszłościowe i może posłużyć także przy o wiele bardziej skomplikowanych projektach.

komentarz 14 stycznia 2019 przez niezalogowany
I na taką odpowiedź liczyłam, a nie walenie minusów nie wiadomo za co.

Problemem jest to, na jakim poziomie pytający chce zrobić witrynę. Jak na swoim komputerze, to niech zacznie od najprostszych rozwiązań, a potem niech tworzy kolejne wersje w innych technologiach. Po zrobieniu kilku będzie miał przegląd pro i contra. Ni i jeszcze sprawa skali. Nie ma sensu stosować jakiś framów w przypadku kilku stron.

Podobne pytania

0 głosów
2 odpowiedzi 532 wizyt
0 głosów
2 odpowiedzi 846 wizyt
pytanie zadane 12 października 2017 w HTML i CSS przez Przemo_J Początkujący (320 p.)
0 głosów
0 odpowiedzi 98 wizyt
pytanie zadane 18 października 2016 w Visual Basic przez Mamrotek Nowicjusz (180 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...