Plugins einzeln ansprechen

User avatar
CrazyBread
Master Bludit
Posts: 73
Joined: Tue Jan 19, 2016 9:51 pm
Location: Germany
Has thanked: 4 times
Been thanked: 5 times
Contact:

Also ich habe es mir gerade angeschaut.
Das Plugin "About" prüft in der Methode "siteSidebar()" nicht, ob es aktiviert ist, sondern baut einfach den hinterlegten Text zusammen und gibt diesen zurück.

Deshalb kannst du an der richtigen Stelle deines Themes einfach das hier einbauen

Code: Select all

<?php echo $plugins[all][pluginAbout]->siteSidebar(); ?>
Diese Methode ist auch wesentlich besser als den Code aus dem Plugin zu kopieren, da dann zukünftige Updates nicht
beachtet werden würden (in diesem Beispiel nicht relevant, aber für ähnliche Fälle vielleicht).

Dein Vorhaben erfordert jedenfalls, das du dein verwendetes Theme im Code selbst bearbeitest.
dirtdiver2010
Master Bludit
Posts: 129
Joined: Fri Jan 15, 2016 6:07 pm
Has thanked: 1 time
Been thanked: 3 times

Danke für die Info. Ich werde es mir mal anschauen, wenn ich wieder am basteln bin.
dirtdiver2010
Master Bludit
Posts: 129
Joined: Fri Jan 15, 2016 6:07 pm
Has thanked: 1 time
Been thanked: 3 times

Hallo, ich mal wieder.
Eine Frage, vielleicht kann mir hier jemand helfen oder weiß ob es eventuell möglich ist was ich vorhabe...

Folgendes, ich würde gerne wieder die Plugins einzeln ansprechen. Ich habe das in V2 noch nicht versucht, aber ich denke es funktioniert wie bisher. Ich habe jetzt vor die Kategorien als einzelnes Plugin in meine Seite einzubinden.

Code: Select all

<?php echo $plugins['all']['pluginCategory']->siteSidebar(); ?>
Jetzt würde ich allerdings gerne die einzelnen Kategorien mit CSS stylen. Ist es dementsprechend möglich den einzelnen Kategorien eine Klasse mitzugeben, z.B. die Klasse ist der Name der Kategorie.

Hat hier jemand einen Lösungsansatz oder kann mir vielleicht sagen wie das funktionieren könnte? Ich versuche das Ganze auch in den Englischen Bereich zu schreiben...

Danke.

Hier noch ein Beispiel wie es denn aussehen könnte was ich meine:

Code: Select all

<div class="plugin-content">
  <ul>
    <li>
      <a href="#" class="category-name">Category-Name (1)</a>
    </li>
  </ul>
</div>
User avatar
Edi
Site Admin
Posts: 3121
Joined: Sun Aug 09, 2015 5:01 pm
Location: Zurich
Has thanked: 54 times
Been thanked: 77 times
Contact:

Wenn Du den Namen der Kategorie als Klasse mitgeben möchtest, kannst Du die Zeile 53 der Datei plugin.php des Plugins Categories wie folgt ergänzen:

$html .= '<a href="'.DOMAIN_CATEGORIES.$key.'" class="'.$key.'">';

Der Code ab Zeile 48 wäre dann:

Code: Select all

		// By default the database of categories are alphanumeric sorted
		foreach ($dbCategories->db as $key=>$fields) {
			$count = count($fields['list']);
			if (!$this->getValue('hideCero') || $count>0) {
				$html .= '<li>';
				$html .= '<a href="'.DOMAIN_CATEGORIES.$key.'" class="'.$key.'">';
				$html .= $fields['name'];
				$html .= ' ('.count($fields['list']).')';
				$html .= '</a>';
				$html .= '</li>';
			}
		}
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
dirtdiver2010
Master Bludit
Posts: 129
Joined: Fri Jan 15, 2016 6:07 pm
Has thanked: 1 time
Been thanked: 3 times

Ok, danke, schaue ich mir mal an.
Das Problem was ich dabei sehe, dass der Code dann weg ist wenn das System ein Update erhält, oder?
User avatar
CrazyBread
Master Bludit
Posts: 73
Joined: Tue Jan 19, 2016 9:51 pm
Location: Germany
Has thanked: 4 times
Been thanked: 5 times
Contact:

Das ist richtig. Dem kann man aber einfach entgegentreten, indem man das Plugin einfach kopiert.
Damit bleibt es bei einem Update unberührt.

Also einfach den kompletten Ordner kopieren, entsprechend umbenennen und (falls nötig) in der Metadata-JSON mit einem entsprechenden Kommentar versehen.
User avatar
Edi
Site Admin
Posts: 3121
Joined: Sun Aug 09, 2015 5:01 pm
Location: Zurich
Has thanked: 54 times
Been thanked: 77 times
Contact:

Da gäbe es zwei Möglichkeiten:

1) Das Plugin nicht aufdatieren. ;-)

2) Eine Kopie des Plugins machen und umbennen. Beispielsweise categories-modified. Zudem sicherheitshalber den Namen des Plugins in der Sprachdatei anpassen (beispielsweise in der Datei de_DE.json im Verzeichnis /languages). Du hast dann zwei Plugins für die Anzeige der Kategorien, aber nur die angepasste Kopie aktiviert.
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
User avatar
Edi
Site Admin
Posts: 3121
Joined: Sun Aug 09, 2015 5:01 pm
Location: Zurich
Has thanked: 54 times
Been thanked: 77 times
Contact:

@CrazyBread Sorry für den "Double Post"... Wir waren gleichzeitig am Werk.
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
Post Reply