1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Unterschiedliche Sidebar.php-Dateien für Unterblogs?

Dieses Thema im Forum "Blog-Netzwerk" wurde erstellt von Adana, 28. Februar 2012.

  1. Adana

    Adana Active Member

    Registriert seit:
    29. November 2011
    Beiträge:
    41
    Zustimmungen:
    0
    Hallo Leute!

    Sorry, ich habe in dem ersten Thread den Titel ungünstig gewählt, leider kann man ihn im nachhinein nicht ändern, oder löschen.

    Also noch mal:

    Ich setze ja nun das Multiblogging ein und habe da mal eine Frage: Den Editor für das Theme kann ich nur auf dem Dashboard Netzwerkadministrator nutzen.
    Gibt es eine Möglichkeit, für die Bloggs im Netzwerk unterschiedliche PHP-Dateien anzulegen und zu einzusetzen?

    Auf der Hauptseite setze ich zwei Sidebars, wobei ich deren Inhalt z. T. direkt in der sidebar.php eintrage, bzw. einbinde.

    In dem anderen Blog, welcher für den internen Bereich bestimmt ist, möchte ich aber nur eine Sidebar einsetzen. Ich habe aber keine Möglichkeit, das nur für diesen Blog anzupassen.

    Der nächste Punkt ist, daß ich das Multi-Level-Naviagtion-Plugin einsetzen möchte. Sowohl auf der Hauptseite, als auch in dem internen Bereich.
    Das eine ist ein horizontales, das andere ein vertikales.
    Damit das Menü dann auch eingebunden und dargestellt wird, muß der entsprechende php-Code in der eintsprechenden Datei eingetragen werden. Doch das kann ich ja nur Netzwerkübergreifend, nicht für die einzelnen Blogs im Netzwerk.

    Gibt es irgendeine Möglichkeit, evtl. ein Plugin, um den Editor für jeden einzelnen Blog verfügbar zu machen?

    Ich setze das Basic 1.0 von Frank Bueltge als Theme ein.

    Herzlichen Dank schon mal für Eure Hilfe!

    Gruß,

    Adana
     
  2. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Doppelpostings werden nicht gerne gesehen, Titel hin oder her. Wenn jemandem was dazu einfällt meldet er sich schon. Ich persönlich kann Dir gerade keine Code-Beispiele posten, das muss bis später die Woche oder Wochenende warten.

    Generell ist es kein Problem, ein Theme für mehrere/alle Blogs einzusetzen und dann pro Blog anzupassen. Ich habe z.B. mit ein paar Zeilen in der functions.php an das Body-Tag eine Klasse mit dem Namen der Seite gehangen. Darüber kann man schon mal Style-Änderungen machen. Mit dem gleichen Mechanismus kannst Du natürlich auch in der sidebar.php verschiedene Widget-Bereiche definieren und einbinden.

    Ich versuche dazu heute oder morgen was rauszusuchen und melde mich dann hier.
     
  3. Adana

    Adana Active Member

    Registriert seit:
    29. November 2011
    Beiträge:
    41
    Zustimmungen:
    0
    Hi Ammaletu!

    Herzlichen Dank für Deine Antwort.

    Daß Doppelpostings nicht gerne gesehen werden, ist mir klar. Aber nachdem ich keinerlei Möglichkeit gesehen hatten, den Titel zu editieren, bzw. den Beitrag zu löschen (Obwohl es noch keine Antwort auf den Post gab), habe ich den zweiten Post erstellt.

    Ich werde künftig sorgfältiger bei der Wahl des Titels sein und auf Doppelpostings verzichten.

    Zum Thema: Das hört sich ja schon mal gut an. ich hatte schon an eine Anpassung der Haupt-Index.php, bzw. functions.php gedacht und werde mir die functions.php mal näher anschauen.

    Vielleicht gibt es ja auch ein How-To, zu dem Thema?

    ich danke Dir in jedem Fall schon mal für Deine Mühe! :)

    Gruß,

    Adana
     
  4. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Ist spät, deshalb nur zwei schnelle Code-Beispiele aus meiner eigenen Seite. Ausführlicherer Blog-Beitrag kommt vielleicht später noch.

    Folgendes fügt in einem Twenty-Eleven-Child-Theme eine Klasse mit dem Namen der Seite dem Body-Tag hinzu:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich nutze für meine Multsite Sub-Domains, deswegen nehme ich den Domainnamen zum Aufbau des Klassennamens, mit dem Präfix "blog-" davor. Man könnte das aber genauso mit dem Seitennamen machen. Der müsste dann nur noch durch eine slug-Funktion geschickt werden, damit da keine für CSS ungültigen Zeichen reinkommen.

    Der Klassenname lautet dann z.B. "blog-subdomain1-example-com" oder "blog-example-com". Damit kann man im Stylesheet Dinge modifizieren.

    Und zum Testen in PHP auf bestimmte Blogs habe ich mir für die benötigten Blogs Funktionen wie diese geschrieben:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Der Vergleich der Position statt des Prüfens des ganzen Strings wird nur gemacht, da ich das online als example.net und lokal als example.loc laufen habe. Wenn Du solche Spielerein nicht brauchst kannst Du auch einfach einen String-Vergleich nutzen. In der sidebar.php könntest Du dann so switchen:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Für register_sidebar natürlich genauso.

    So, hoffe das hilft weiter. Ansonsten fragen. :)
     
  5. Adana

    Adana Active Member

    Registriert seit:
    29. November 2011
    Beiträge:
    41
    Zustimmungen:
    0
    Hi Ammaletu!

    Herzlichen Dank für Deine Erläuterungen. Ich muß mir das ganze mal in 'ner ruhigen Minute reintun, um es auch richtig zu verstehen.

    Aber jetzt ist für mich noch eine andere Frage aufgetaucht, im Zusammenhang mit dem Multi-Level-Navigatiuon-Plugin:
    Um das Teil einzubinden, muß man einen php-Code in eine der PHP-Dateien einbinden, wo man das Menü dargestellt haben möchte.
    Das ist für mich im Hauptblog die header.php

    Wie schon erwähnt, möchte ich das Plugin auch für den ein oder anderen Unterblog nutzen. Somit würde ich das Menü nun als Vertikales Menü in der Sidebar einbinden, der php-Code käme also in die sidebar.php

    Nun habe ich aber gesehen, daß er mir im Unterblog ein Horizontales Menü im Headerbereich anzeigt. Ich kann mir auch vorstellen warum. Nämlich weilö sowohl Hauptblog, als auch Unterblog jeweils auf die header.php zugreifen.

    Wie stelle ich es an, daß er mir das Horizontale Menü nur im Hauptblog anzeigt?

    Macht es vielleicht Sinn, gesonderte php-Dateien anzulegen, welche den PHP-Code für den jeweiligen Blog/Unterblog enthalten und mittels dieser Klassifizierung includiert werden? Wenn ja, wie müsste das dann ausschauen?

    Gruß,

    Adana
     
  6. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Deine Frage wird in meiner letzten Antwort schon beantwortet: Nicht einfach einbinden, sondern eben prüfen, um welches Blog es sich handelt und dann den Code einbinden.

    Davon abgesehen musst Du schauen, ab welchem Punkt die Seiten zu unterschiedlich sind, als dass sich das noch lohnt. Wenn es nur um ein paar Elemente geht ist es ja ganz cool, mehrere Seiten mit dem gleichen Theme zu betreiben. Aber wenn sie zu unterschiedlich werden, kopierst Du das Theme besser unter einem anderen Namen und gibst den Blogs verschiedene Themes.
     
  7. Adana

    Adana Active Member

    Registriert seit:
    29. November 2011
    Beiträge:
    41
    Zustimmungen:
    0
    Hi Ammaletu!

    Ja, richtig, mit der if-Funktion, soweit ist mir das auch klar. Ich habe nur bislang die Schwierigkeit zu erkennen, was genau, bzw. womit genau ich die Blogs unterscheide, bzw. erkennbar mache.

    Allerdings klingt die Idee mit den unterschiedlichen Themes auch nicht schlecht.
    Kann ich es einfach so kopieren und WP erkennt es dann als neues Theme? Es muß doch sicherlich dann auch erst mal installiert werden, oder?

    Ich werde das einfach mal antesten.

    In jedem Fall danke ich Dir herzlichst für Deine Bemühungen! :)

    Gruß,

    Adana
     
  8. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Ich habe zu der ganzen Sache mal einen Blog-Beitrag geschrieben, vielleicht wird das dann auch klarer:
    http://code.freudendahl.net/2012/03/wordpress-multisite-ein-theme-fuer-mehrere-blogs-einsetzen/

    Themes kopieren: Du musst den Namen im Kommentar oben in der style.css ändern. Das empfiehlt sich sowieso, falls Du ein bekanntes Theme einsetzt und geändert hast, damit Du nicht später aus Versehen die Änderungen überschreibst. Ein Child Theme wäre dann aber eh die bessere Wahl.

    Theme installieren: Da ist nichts zu installieren, die Dateien müssen nur in wp-content/themes liegen. Beim Installieren über die Admin-Oberfläche geht es ja auch nur darum, die Dateien von wp.org zu ziehen und auf Deinem Server abzulegen, mehr wird da auch nicht gemacht.

    Und noch mal generell: Sachen direkt in die sidebar.php reinzuschreiben ist nicht wirklich gut, weil Du dann nämlich genau das Problem hast, die Blogs nicht richtig trennen zu können. Widgets sind dagegen immer pro Blog. Es wäre also besser, konsequent auf Widgets zu setzen. Im Zweifelsfall kannst Du die auch einfach selber schreiben, wenn die Standard-Widgets nicht ausreichen. Damit kannst Du die Sidbears dann schon mal individuell pro Blog befüllen, ganz ohne Probleme. Wenn eine Seite eine Sidebar nicht anzeigen soll, hängt es von den Styles ab, ob eine "leere" Sidebar störend aufallen würde. Wenn ich in Twenty Eleven die drei Footer-Bereiche leer lasse, merkt man das z.B. nicht wirklich. Andernfalls kannst Du das Problem natürlich auch direkt im Stylesheet lösen (über die Klasse pro Blog) oder eben die Sidebar dann wirklich nicht einbinden (über die sidebar.php).
     
  9. Adana

    Adana Active Member

    Registriert seit:
    29. November 2011
    Beiträge:
    41
    Zustimmungen:
    0
    Hi Ammaletu!

    Nochmals herzlichen Dank für Deine Mühe! Der Blog-Beitrag ist schon mal sehr informativ und ich selber habe das ganze tatsächlich mit einem eigenen Theme für den Unterblog gelöst.
    Dabei habe ich dann auch selbst herausgefunden, wie es mit der "Installation" eines weiteren Themes läuft.

    Was die Sache mit den Widgets angeht: Das ist mir mittlerweile auch klar geworden. Das es besser ist ein Widget einzusetzen, anstatt irgendwelchen Code in die Sidebar.php zu schreiben.

    Widgets selber schreiben: gibt es da ein How-To zu? evtl. Vorlagen, mit den Dingen die grundsätzlich da hinein müssen?

    Ich suche nämlich noch nach einer Lösung für ein weiteres Vorhaben innerhalb meines projektes (siehe folgenden Thnread: http://forum.wpde.org/plugins-und-widgets/98575-suche-passendes-datei-upload-plugin.html
    ).
    Dafür wäre solch ein Widget sicherlich auch nicht schlecht.

    Gruß,

    Adana
     
  10. swag

    swag New Member

    Registriert seit:
    4. März 2012
    Beiträge:
    4
    Zustimmungen:
    0
    Hey ich danke dir auch für die Mühen, bei mir funktionierts
     
  11. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
  12. Adana

    Adana Active Member

    Registriert seit:
    29. November 2011
    Beiträge:
    41
    Zustimmungen:
    0
    Hi Ammaletu!

    Herzlichen Dank für die Links! Englisch ist zwar nicht so meine Stärke, aber da boxe ich mich mal durch und wenn es erst mal nur dazu dient, den Aufbau und Wirkung von Widgets zu begreifen. :)

    Herzlichen Dank!

    Gruß,

    Adana
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden