![]() |
PHP-Skript für das Erzeugen einer unverschachtelten Navi
Nein, diesmal soll es nicht um das Entfernen von selbstreferentiellen Links gehen :) Das Thema ist ja durch.
Ich bitte euch hier um eine Empfehlung für ein PHP-Skript, welches zwei einfache unverschachtelte Menüs erzeugen kann. Etwas, was einfach für jemanden anwendbar ist, der mit PHP kaum Erfahrung hat (wie ich ;). Welche Vorgehensweise ist da besten? Soll für das Skript eine Art Tabelle angegeben werden, wo jeweils die URL als auch der Linktext steht? Oder soll einfach das komplette HTML angegeben werden und das Einzige was das Skript macht, ist das ergänzen der Kennzeichnung "aria-current="page""? Über euren Rat und Beispiele freue ich mich. Danke. Die Codevorlage sieht völlig schlicht so aus: HTML-Code:
<nav> HTML-Code:
<nav> |
Das ist etwas was ein CMS macht. Ein Skript das nur ein Menü erzeugt macht keinen Sinn.
Das was du willst ist ein Ersatz für die Framelösung der 90'er durch eine PHP Datei. Sowas machte man vor 10/20 Jahren. Das Verfahren kannst du hier z.b. nachlesen Navigation mit PHP Das sollte auch heute noch so funktionieren. |
Zitat:
HTML-Code:
<?php Sowas wie 1 Lese aus, wie der URL der angefragten Seite heißt. 2 Treffe das Element li, welches den dazu passenden URL hat 3 Füge in diesem Element li das Attribut "aria-current="page"" ein 4 Liefere die Seite aus |
Jetzt bist du wieder an der Stelle, wo du HTML mit PHP parsen willst. Das hatte ich dir schon mal erklärt, das das nicht sinnvoll ist.
Und wie gesagt das was du vorhast ist eine Technik, die vor ca. 10 Jahren oft angewendet wurde. Wenn du nach "Navigation PHP" suchst findest du hunderte Möglichkeiten dies umzusetzen. An sich ist das keine grosse Sache. Aber wie genau du es brauchst, kommt dann darauf an, wie du deine Seite strukturieren möchtest und welche Anforderungen du an das Skript stellst. (Und "elegant" ist keine technische Beschreibung, um das wirklich zu beantworten) Aber wie gesagt, es gibt hunderte, vermutlich tausende Optionen, such dir was aus https://www.google.de/search?q=php%20navigation So haben damals viele angefangen. Aber fast immer merkten die Leute, dass das was du da machst, einfach der Beginn eines jeden CMS ist. Weil danach schnell neue Wünsche kommen und irgendwann hast du etwas zusammengefrickeltes und kommst nicht mehr sinnvoll weiter. Da du z.b. schon die Mehrsprachigkeit angesprochen hast oder auch vielleicht selber merkst, dass u.U. die eine oder andere Sache Neu oder Anders umgesetzt werden muss als du anfänglich gedacht hast, kann ich dir nur raten gleich ein fertiges System zu nutzen anstatt jede Funktion per Hand irgendwie umzusetzen. Dann kannst du dich auch auf die tatsächlich interessanten Sache fokusieren. Wie z.b. sauberer HTML Code oder sinnvolles CSS. Bzw. was noch wichtiger wäre: der Inhalt. |
@protonenbeschleuniger
Es steht außer Frage, dass für komplexe Anforderungen ein CMS die beste Technik ist. Du siehst nicht, dass Du mich davon nicht überzeugen musst. Deiner pauschalen Aussage, dass ein CMS immer das einzige Richtige ist, egal wie einfach eine Website aufgebaut ist, stimme ich nicht zu. Und mit mir auch andere, Erfahrenere nicht. Aber das nur am Rande. Mehr möchte in diesem Thread dazu nichts sagen. Dass es tausende Möglichkeiten gibt eine Navi mit PHP zu realisieren weiß ich und genau das ist der Grund, warum ich hier um eine Empfehlung für einen wirklich eleganten Weg suche. Es ist OK, wenn Du mir kein konkretes Skript empfehlen möchtest. Aber bitte respektiere doch einfach meine Bitte um Empfehlung. Wenn niemand etwas empfehlen möchte: auch kein Problem. Eine Empfehlung ist was ganz anderes als "guck mal bei Google" oder "guck, mal das gibt es". Eine Empfehlung ist eine persönliche Wertung, eine bewußte Auswahl aus einer Vielzahl, mit guten benennbaren Gründen. Und genau das erhoffe ich mir. |
Was ist denn "elegant" für dich? Du könntest zb die von dir gepostete Lösung umschreiben, dass es für jedes Element durchläuft und nicht hardcodiert eine Liste ist. Das muss man dir aber nicht vorkauen, das kannst du auch selber.
Zweitens: was meinst du mit Punkt 1 deiner Liste? Was liest von wo was genau aus? Das Menü kann nichts auslesen. Auch ist Punkt 4 sinnlos, ich dachte es geht um ein Menü. Oder kann es sein dass du nicht ganz verstanden hast wie php eigentlich funktioniert? (Das ist nicht böse gemeint, ich besitze ebenfalls nur Grundwissen darüber) |
Zitat:
Zitat:
Das ein CMS immer das Richtige ist wäre kompletter Unsinn und habe ich nie gesagt. Aber in deinem Fall bin ziemlich sicher, dass es so ist (seltsamerweise hast du sogar mal danach gefragt) Zitat:
Wie gesagt es gibt hunderte, tausende, wenn nicht Millionen davon im Netz. Aber einen "eleganten" (was immer das sein soll) Weg gibt es nicht. Es ist genau so wie ich sage, es gibt tausende Wege und Optionen und du musst den für dich am besten passenden finden, dabei versuchen ich dir zu helfen. Aber das Problem ist, dass dein Ansatz einen fertigen HTML Code zu parsen, um dann mit PHP diesen zu ändern ist nicht sinnvoll. Zitat:
Zitat:
Benutzt du eine absolute oder relative URL im HTML Code? Verwendest du mod_rewrite oder hast es vor? Gibt es Mehrsprachigkeit oder Mobile Versionen? Gibt es Parameter oder wird es welche geben die du der URL übergeben musst? Kann diese Umlaute enthalten oder nicht. Wegen dieser Problematik verwenden die meisten Skripte den einfachsten und zuverlässigsten Weg, der Seite einen Namen zu geben (so wie es auch ein CMS machen würde). Der ist aber für dich nicht "elegant". Zitat:
Wobei PHP hier eine Zwischenlösung anbieten würde. Da PHP im Grunde eine Templatesprache ist, kannst du dort auch den HTML Code und die Programmlogik vermischen. (So wie es z.b. WP macht) Die einfachste PHP Lösung die du willst, sind nur ein paar Zeilen PHP-Code:
PHP-Code:
|
@protonenbeschleuniger
Danke erstmal für Deine ausführliche Antwort. Dann ist zumindest geklärt, dass Du ein CMS doch nicht immer für den Königsweg hältst. Da so wenige Zeilen PHP für das Erzeugen des Menüs ausreichen, ist mir nicht klar, dass Du in diesem konkreten Fall, dennoch ein CMS für geeigneter hältst. Die Website besteht ja ansonsten nur noch aus einer Handvoll wiederkehrenden Bestandteilen, die sich mühelos als Includes einfügen lassen. Die Mehrsprachigkeit ist hier übrigens erstmal außen vor. In diesem Thread soll es nur eine einsprachige Site gehen. Zitat:
Der Usecase ist ja sehr klar. Es geht um einen Autor, der HTML beherrscht, PHP jedoch nicht. Also fällt es dem Autor leicht, das Ziel-HTML festzulegen. Das PHP-Skript soll allein den Code "anreichern" um etwas, was manuell mühsam und fehlerträchtig wäre. Man kann Ziele aus sehr verschiedenen Blickwinkel festegen. Aus Sicht eines PHP-Programmierers mag es bessere Lösungen geben. Die Perspektive eines HTML-Autors ist naturgemäß eine andere. Warum findest Du das Konzept "Reichere gegebenen HTML-Code an" und "Entferne aus gegebenem HTML-Code etwas" daher so völlig falsch? Und weiter: Was findest Du falsch daran, per PHP gezielt auf den DOM, auf Elemente, zuzugreifen. Das ist doch eine hochelegante Technik. Wenn ich es richtig verstehen, gibt es doch für gutes Programmieren den Grundsatz DRY. Und per Selektor kann man in sauberem HTML doch alles wunderbar präzise treffen. Ganz ohne alles redundant nochmal im PHP-Code angeben zu müssen. Mich interessiert dabei in Deiner Antwort Deine Überlegungen zu Konzeptionellem. Zitat:
Mehrsprachigkeit gibt es nicht. Mobile Versionen auch nicht. Parameter gibt es (außer vielleicht im Kontaktformular) nicht. Der URL wird keine Umlaute enthalten. mod_rewrite in der .htaccess werde ich einsetzen. Zitat:
Ein PHP-Skript kann doch auf den DOM zugreifen und Inhalt herausschneiden oder hinzufügen. Also kann man diese Technik doch nutzen. Das Quelldokument liegt auf dem Server. PHP verändert es und liefert es so verändert aus. Was ist an diesem Konzept falsch? Auch wenn die Technik selten verwendet wird, muss es doch nicht heißen, dass sie falsch ist. Ich lasse mich gerne überzeugen. Bitte erläutere mir doch den Denkfehler noch genauer. Danke für Deinen PHP-Code. Ich werde versuchen ihn auf mein Beispiel anzuwenden, wenn es keinen (vernünftigen) Weg gibt, dass das PHP direkt auf den DOM zugreift. |
Das sind alles Sachen die ich in den letzten 20 Jahren erfahren habe und das zum Teil auch schmerzlich. Wie gesagt, das was du gerade willst war vor einem Jahrzehnt verbreitet und auch ich habe x-mal angefangen HTML Seiten irgendwie zu strukturieren. Seit ich wordpress entdeckt habe (ca. 2009) würde ich nie mehr auf die Idee kommen es noch mal so zu machen.
Aber jetzt jeden Punkt erklären zu wollen, wäre zu viel, nur kurz: Zitat:
Deine Ausführungen bezüglich HTML vs. PHP Editor sind falsch. Der (heutige) "HTML Editor" arbeitet mit Template und Frameworks, wird aber niemals einfach nur eine HTML Seite erstellen. Aus genau den Gründen die hier genannt wurden. Die Hauptpunkte sind: du verbaust dir die Erweiterbarkeit und Flexibilität die dir ein dynamische Seite bietet. Zitat:
Das Quelldokument ist PHP Code, in dem bestenfalls HTML eingebettet ist, aber das wiederspricht dem https://de.wikipedia.org/wiki/EVA-Prinzip Es gibt eine DOM Bibliothek, die ... (tut mir leid, ich möchte das nicht noch mal erklären, da ich dass schon ausführlich in dem anderen Thread gemacht habe) |
@protonenbeschleuniger
Nun gut, eine Grundlagendebatte können wir hier nicht sinnvoll führen. So spannend sie auch ist. Dein zentraler Satz ist: "Du musst von vorneherein immer alles für möglich halten und berücksichtigen, ansonsten landest du in der erwähnten Sackgasse." Das drückt eben doch nichts anderes aus, als das, was ich schon im letzten Posting vermutet hatte. Du plädierst doch für ein CMS, grundsätzlich und immer. Weil naturgemäß nur ein CMS dem Merkmal "Du musst von vorneherein immer alles für möglich halten" gerecht wird. Hier liegt unser Dissenz. Lassen wir das so stehen. Zum Editor: Ich respektiere Deine Wertung, was ein "heutiger" Editor ist. Aber Du sagst damit eben, dass alles außer einem Templatesystem/CMS falsch ist. Du negierst damit auch, dass einfache Includes für Kopf und Fuß ebenfalls ein Templatesystem darstellen. Und dafür benötigt man nur einen TXT-Editor. Wir kommen hier in der Debatte nicht weiter, weil Du eben einzelne PHP-Skripte völlig langweilig und falsch findest. Das habe ich zu respektieren. Die Sache mit der DOM-Bibliothek verstehe ich leider nicht. Im PHP-Jargon können wir darüber nicht reden, weil ich den nicht verstehe. Wenn ich Dich richtig verstehe, dann ist das, was ich in Umgangssprache beschrieben habe, technisch mit PHP absolut unmöglich. Mit Wordpress werde ich leider nicht warm. Schon das GUI ist unglaublich überladen, wenn man nur mit etwas Einfachem beginnen möchte. Es gibt dort eben nicht das Konzept des Bottom-Up. Mit Wordpress kann man nicht minimalistisch und mit total schlankem HTML-Code beginnen. Dafür müsste man Programmierer sein und ein ganzes Thema und auch ein Plugin bauen. Wenn man es sprachlich genau nimmt, dann beginnt bei Wordpress alles in einer bereits "erweiterten" Form. Eine "noch nicht erweiterte Form", siehe unten, lässt sich mit Wordpress unmöglich produzieren. HTML-Code:
<!doctype html> Bottom-Up eben. Zu Deinem PHP-Code für das Menü: Ich bin dran. Noch ist es mir nicht gelungen, es zum Laufen zu kriegen. Die Erkennung der aktuellen Seite funktioniert bisher nicht. Zum Array: Eigentlich besteht so eine Matrix doch nur aus 2 Spalten und nicht vier, oder? 1 Linktext 2 Referenzierungspfad für href |
Zitat:
Ich kann es aber nur wiederholen. Das, woran du arbeitest ist der typische Idealfall für ein CMS und so wie du es angehst wirst du am Ende entweder ein zusammengefrickeltes, irgendwie laufendes System haben, das du in zwei Jahren nicht mehr anfassen möchtest, wenn eine größere Änderung eingebaut werden soll oder es bleibt halt 10 Jahre so. Bis der Auftraggeber die Seite löscht. Zitat:
Ja, das ist ein Template System (wie gesagt PHP ist an sich schon ein solches) und ja sinnvollerweise bearbeitet man den Quellcode mit einem Texteditor. Es ging aber um deine Trennung zwischen einem HTML und PHP Bearbeitung. Das findest du heute so wie du es beschreibst nicht mehr. Da heute zu beiden Techniken viel mehr gehört brauchst du Leute die jeweils viel mehr können. Aber sobald du - wie hier - mit PHP anfängst, musst dich logischerweise auch mit Programmiertechniken auseinandersetzen, ansonsten machst du den gleichen Fehler wie viele vor dir. Und das was du hier konkret willst, ist der Grundstein eines CMS. Wie gesagt google nach "php navigation" du wirst unzählige Threads wie diesen finden und wie Leute versuchen so etwas zu bauen. Fast immer zwischen 2007 und 2009. Danach hat sich kaum noch jemand die Mühe gemacht, weil es dann die vielen kostenlosen CMS Systeme gab. Heute gibt es keinen "HTML Autor" mehr. Es gibt höchstens noch Grafiker/Designer die vielleicht kein oder wenig HTML/CSS beherrschen und alles mit einem Grafikprogramm entwickeln. Die entwerfen dann vielleicht ein HTML Mockup, das dann aber jemand mit mehr Kenntnissen in das Zielsystem einarbeitet. Zitat:
Aber wir können dir nicht sagen, welches du benutzen solltest/willst oder kannst, weil im Prinzip alle das Gleiche machen aber unterschiedliche Kentnisse, Vorstellungen und/oder Techniken vorraussetzen oder erfüllen. Das ist das unergiebige an der Diskussion, wir können dir nur konkret helfen, aber der augenblickliche Stand ist, wie wenn du in die Autowerkstatt kommst und sagst: "Ich möchte gerne ein Auto reparieren. Ich kenne mich ein bisschen aus und weiss wie man es fährt, welches Auto soll ich reparieren? Ich würde gerne ein rotes nehmen und es sollte mindestens 180 fahren. Was ist eure Meinung?" Darauf hin habe ich dir einen VW Käfer gezeigt und versucht zu erklären, dass das zwar einfach zu reparieren ist, wir aber Wissen müssen was kaputt ist und heutige Autos aber viel mehr Komfort hätten. Daraufhin stellst du fest: Dass du nicht damit warm wirst und erstmal nur die Karossierie reparieren willst und gerne erstmal ein Auto ohne Motor und Reifen hättest. An dem Punkt sind wir jetzt und ich weiss nicht was ich dir empfehlen könnte. Es gibt bestimmt irgendwo Karroserien, aber sinnvoll ist das nicht. Zitat:
Zitat:
Zitat:
Zitat:
PHP-Code:
PHP-Code:
PHP-Code:
|
Deinen Code konnte ich jetzt nach Deinen Hinweis erfolgreich anwenden.
Danke :) Zu den anderen Punkten antworte ich Dir noch. Ich habe etwas Sorge, Dich vielleicht zu nerven. Das ist jedenfalls nicht meine Absicht. Zitat:
Zitat:
Dann wäre der Code perfekt elegant. |
Zitat:
Zitat:
PHP-Code:
Der Aufruf auf der Seite wäre dann so: PHP-Code:
|
Es ist auch schön zu sehen, dass meine Fragen recht zu Beginn des Threads ignoriert werden. Vor allem die erste Frage würde mich doch sehr interessieren.
Zumindest eine Frage wurde indirekt schon beantwortet: Du weißt nicht wirklich, wie PHP eigentlich funktioniert. Bezüglich Wordpress: Du hast, wie dir bereits in einem anderen Thread mitgeteilt wurde, 100% kontrolle über das HTML bei wordpress. Wenn es dir nicht passt dann musst du dir dein eigenes Template bauen. Warum es das nicht "von haus aus" gibt: Weil es nicht benötigt wird. Aber ich habe zB das hier gefunden. Das ist doch in etwa das, was du willst? HTML5 Blank WordPress boilerplate theme - build themes faster with HTML5 Blank |
Zitat:
Zitat:
Lassen wir so stehen. Zitat:
|
Zitat:
Ich werde noch versuchen, nachzuvollziehen, warum Du zu diesen Schlussfolgerungen kommst. Lassen wir das erstmal so stehen, ich möchte vermeiden, dass Du sonst genervt bist. |
Zitat:
Danke dafür. Zitat:
Dazu werde ich noch weiter recherchieren. Auch zu dem Thema, welches Du oben erwähnst, der Vermischung von Programmiercode und Inhalt. Es erscheint mir unvernünftig zu sein. Vielleicht gibt es bessere Lösungen mit anderen Programmiersprachen, wo Inhalt und Programmierung sauber getrennt sind. Ganz andere Architekturen. Ich habe noch all das zu lernen. Da stehe ich ganz am Anfang. |
@AndreasB
Deine Antworten klingen arg nach "Ich bin das Maß aller Dinge, nur meine Ansichten sind elegant". Lassen wir mal so stehen. |
Zitat:
zumal das was du willst ja auch geht, aber selbst das Plugin was für dich gefunden wurde, wird nicht mehr gepflegt. wie gesagt nur als Überlegung. Zitat:
Ich weiss gar nicht was daran so schwer zu verstehen ist, dass das nicht sinnvoll sein kann? Zitat:
Das EVA Prinzip ist insbesondere bei PHP wichtig, weil diese Architektur die Vermischung geradezu provoziert. Das liegt daran, dass am Anfang (Ende der 90er) dieses vermischen von Programmiersprache und HTML vielen elegant vorkam (so wie dir manches elegant vorkommt, dass bei uns Haare raufen auslöst). Dies zeigt sich auch heute noch in vielen PHP Programmcode. Aber man muss auch dazu sagen, darauf gründete sich der Erfolg von PHP gegenüber Perl. (Genaugenommen ist PHP sogar aus Perl entstanden) Ich habe diese Entwicklung und die Probleme damit hautnah mitbekommen. Am anfang habe ich auch geflucht, dass es so kompliziert war HTML Ausgabe in meinem Programmcode zusammen zu basteln und war fasziniert von PHP. Aber schnell zeigte sich, dass ist kein guter Weg. Änderungen an der Programmierlogik erforderten Eingriffe in Code der durchsetzt war mit HTML Tags und führte oft zu unerwartende Ergebnise in der Ausgabe. Es stellte sich heraus, der Code war einfacher zu pflegen, wenn die HTML Ausgabe nur an einer Stelle erzeugt wurde und am besten noch so, dass man in dieser Logik auch z.b. Javascript ausgeben konnten (was wichtig war, als AJAX populär wurde) Strukturierung ist das Zauberwort und dabei ist das EVA Prinzip eines, das im Webbereich eine grosse Rolle spielt (daneben gibt es z.b. noch MVC, wo der Fokus aber auf das gesamte System gerichtet ist). Man muss aber auch ehrlicherweise sagen, das EVA Prinzip macht in PHP nur bedingt Sinn. Ich finde die PHP Templates in Wordpress zeigen einen Weg wie man HTML Code und Programmierlogik vermischen kann. Was ein simples WP Theme angeht, ich hab zu Hause mal was angefangen. Ich kann das später mal hier abladen. Das Problem ist aber tatsächlich so, ohne PHP Kenntnisse kommst du da nicht weiter, das ist so gewollt. Es gibt andere Templatesysteme (YAML) die erfordern aber auch Kenntnisse. Wenn du dich über eine pure HTML/CSS Seite hinaus mit Webtechniken beschäftigen möchtest, kommst du um diese Grundlagen aber nicht herum. Eigene Theorien oder auf Unkenntniss beruhende Überlegungen haben wir fast alle selbst hinter uns. Aber wie ich schon schrieb, irgendwann landest du dann in einer Sackgasse und bist genervt von dir selber, weil du nicht vorher auf andere gehört hast. Zumindest mir ging es so. Und ich kann mich noch gut an die Zeit erinnern, wo ich Templates für überflüssiges Zeug hielt und meinen Code möglichst "schlank" halten wollte, weil ich dachte damit wird er schneller. Der Irrglaube eines Anfängers. |
Zitat:
Zitat:
In dem "vierspaltigen Array" gibt es doch total viel Wiederholung. Soll denn sowas nicht möglichst vermieden werden, damit Code gut wartbar bleibt. Bitte verstehe das in keiner Weise als Kritik an Deinem Code. Aber ich möchte gerne verstehen, warum Du meinen Wunsch nach einer zweispaltigen Matrik kritisierst. HTML-Code:
['text' => 'Home', 'url' => '/'], HTML-Code:
§[ Ich habe das Konzept von Python angewendet, wo Tabulartoren und Zeilenumbrüche Teil der Syntax sind. Sowas fände ich sehr gut wartbar/lesbar. |
Zitat:
Der Vorteil der benannten Parameter ist der, dass du erkennst was welcher Wert ist. Das ist hier unterstes Level, aber es zeigt worum es geht. Zitat:
Inwiefern besser wartbar? woran erkennst du (in zwei Jahren) was die Werte bedeuten? Microoptmierung ist der Beginn des Chaos. Nur weil du vielleicht 50 Bytes und 0.1µS Laufzeit sparst hast du nichts gewonnen. Oder was machst du, wenn du das Array erweitern möchtest? z.b. so PHP-Code:
|
@protonenbeschleuniger
Mir geht es in keiner Weise um "Mikroptimierung" oder "Performance" oder "Dateigrößen". Mir ging es allein um die Lesbarkeit/Wartbarkeit von Programmiercode. Mein fiktives Beispiel ist für meine Augen drastisch besser lesbar als Dein Array. Aber vielleicht empfinden wir das einfach verschieden und lassen es so stehen. Meine Vermutung war, dass es durchaus objektiv messbare Merkmale für Lesbarkeit von Code gibt. Danke für Dein Beispiel mit der Erweiterbarkeit Deines Codes. Das Konzept eines assoziativen Arrays habe ich noch nicht verstanden, das hole ich nach. Vorerst erscheint es mir etwas unübersichtlich, wenn "mittendrin" statt "ganz oben" neue Variablen (bei Deinem Beispiel "irgendwas" und "class") deklariert werden. Wie auch immer. Das führt uns wohl zu weit, denn ich kann ja bei Konzepten/Syntax und Architektur von Programmiersprachen nicht mitreden. Ich habe ja lediglich mal gesehen, wie schön Python-Code im Vergleich zu anderen Programmiersprachen meinem Auge erschien. Es würde mir übrigens in unserer Konversation helfen, wenn Du manchmal sagen würdest "Andreas, ich verstehe Deinen Gedanken und finde die tabellarische Darstellung in Deinem fiktiven Code auch sehr gut lesbar, aber eine solche Schreibweise hat folgenden Nachteil für die Erweiterbarkeit ..." So lese ich bei Dir vor allem implizit heraus "Andreas, was Dir vorschwebt ist völlig sinnloser Quatsch, ich kann in keiner Weise verstehen, wie Du darauf kommst." |
Zitat:
Und ich kann mich nur wiederholen, ich kenne das aus eigener Erfahrung. Es führt niemals zu besser lesbaren Code wenn man Code kürzt. Zitat:
Ich hatte dich aber konkret gefragt, was liest du aus dem Array? Ich sag es dir: Nichts! Du weisst JETZT, dass das erste Element des Array der Text ist und das zweite die URL. Wenn noch weitere Eigenschaften hinzukommen, dann ist das dritte Element die Klasse, das vierte der Titel. Weiter unten in der Funktion steht der eigentliche Programmcode und dort werden die Daten genutzt, das sähe dann mit deiner Version so aus: PHP-Code:
PHP-Code:
Zitat:
Das Konzept des AA ist weit verbreitet und du hast es sicher verstanden, denn wendest es z.b.auch in HTML oder CSS schon massiv an. HTML-Code:
p { du behauptest hier, der Code wäre besser lesbar, wenn dort nur so was stehen würde: HTML-Code:
p [60%, 2em, blue, #fff] |
Zitat:
Ich kann dir nur sagen, für mich ist das eine sachliche Diskussion. Auch wenn vieles Unsinn ist was du vorschlägst, aber ich kenne diese Gedanken, ansonsten würde ich mir die Mühe nicht machen dir zu erklären wo du falsch denkst. |
Zitat:
- Nachvollziehbarer Code mit rotem Faden - durch: Logik im Code abspeichern, nicht im Gehirn - durch: keine durchnummerierten Variablen - auch nicht als Array-Keys. |
@protonenbeschleuniger
Ich nehme sehr wohlwollend wahr, dass Du Dir die Zeit für Deine Antworten nimmst. Dafür danke ich Dir sehr. Und Deine Kritik kommt an und wirkt. Ich brauche aber Zeit um das alles zu verarbeiten. Durch Deine Beispiele zum assoziativen Array habe ich nun besser verstanden, was seine Vorteile sind. Eine Diskussion weiterer Details wäre unangebracht, dafür fehlen mir Programmierkenntnisse. Ja, Du hast wohl auch Recht mit Deiner Kritik meines Hinterfragens in dieser Anfängerphase. Du schriebst an anderer Stelle, dass Du eventuell ein minimalistisches Word-Theme schreiben wirst. Lasse es mich bitte wissen, falls es dazu kommt. Vielen Dank an alle hier im Thread, auch für eure Geduld. |
Zitat:
Also. Ein WP Theme besteht mindestens aus: style.css, index.php, header.php, sidebar.php, footer.php und einer functions.php Diese muss du in ein Verzeichniss packen im Ordner ../wp-content/themes/ deiner WP Installation. Dann kannst du dieses Theme im Backend aktivieren und du hast dein simples Theme fast frei von unnötigen (du musst noch im Backend in den Nutzereinstellungen die Werkzeugleiste deaktivieren) Hier die Dateien: style.css die CSS Deklarationen HTML-Code:
/* steuert die Ausgabe der "Posts" (nicht der "pages") PHP-Code:
der Ort der Meta Angaben PHP-Code:
hier wird das Menu erzeugt, dafür gibt es aber X-andere Möglichkeiten. Die einfachste wäre das builtin Menü zu nutzen. Da bin ich aber kein Experte und weiss nicht, wie man dies möglichst einfach einbinden könnte. Daher hier die Methode die einfach nur die letzten 10 "posts" im Menü auflistet. PHP-Code:
könnte man sich hier auch sparen. Aber wegen der Erweiterbarkeit und Flexibilität, wenn man wirklich ein komplettes Template machen will ist es sinnvoll. PHP-Code:
PHP-Code:
|
@protonenbeschleuniger
Echt nett von Dir :) Das Erstellen des Themes und Aktivieren hat auf Anhieb geklappt. Cool! Wirklich schön minimalistisch! Danke! Wenn Du mal in Berlin sein solltest, lade ich Dich gerne auf ein Bier ein :) Der letzte Teil des von Dir geposteten PHP-Codes zum Entfernen einiger Funktionen: welcher Dateiname muss dafür bitte vergeben werden? Dann kann es jetzt also losgehen mit kleinen Aufgaben, die ich mir selber stelle. Vor allem muss ich mir ein gutes PHP-Tutorial/Buch suchen. |
Oh, vergessen: functions.php
Die ist aber nicht notwendig. Du müsstest aber sehen, dass etwas Javascript Code im HTML erscheint der nicht aus dem Template kommt. Was nicht schlimm wäre, wenn du z.b. sowieso vor hast mit jQuery zu arbeiten. |
Danke. functions.php ist jetzt auch drin.
Mal sehen, ob mir der Feinschliff hin zu https://borumat.de/-/ge/minimal gelingen wird. * Entfernen des gesamten Codes zwischen <!-- (footer.php) --> und </body> * Erzeugen eines Menüs mit <nav><a></a></nav> (McMurphy hatte kürzlich erwähnt, dass man ja die ul weglassen kann, schöne Idee.) * relative Links zur Basis statt absolute * ... |
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:52 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2019