Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Komponente dynamisch laden und Suffix anhängen
#1
Hi!

Ich lade in einem Template Komponenten (mehr oder weniger dynamisch) anhand ihres Namens, der identisch mit dem Page-Slug ist.

<?php get_component((string) return_page_slug()); ?>

Spart 'ne Menge Template Files...

Jetzt möchte ich diesen Komponenten aber noch einen Suffix mit auf den Weg geben, da ich in meinem Template drei Komponenten laden muss.


Page Slug / URL:
page-slug.php

Komponentennamen:
page_slug_sidebar
page_slug_left
page_slug_right

usw.

Habe gegoogled wie blöd, alles mögliche "ausprobiert" aber ich schnall es einfach nicht. Muss dazu sagen, dass ich keinen Plan von PHP habe - bin aus dem Grafiklager. Kann mir bitte jemand obenstehenden Code entsprechend erweitern oder eine (bessere) alternative anbieten?

Dank & Gruß,
Rob
:-)
Reply
#2
Hey,
wenn ich dich richtig verstanden habe bringt GS das alles schon mit, also, wenn du aus dem Komponenten etwas laden möchtest, dann musst du nur im Admin-Backend unter "Vorlagen" und dann "Komponenten bearbeiten".
Hier kannst du vorhandene Komponente nutzen oder neue anlegen, also mit php bzw. HTML Code bestücken, anschließend kannst du den Code benutzen, der über den fertigen Komponenten erscheint, also:
"<?php get_component('sidebar'); ?>"
sidebar muss durch den entsprechenden Namen ausgetauscht werden, das kannst du dann in irgendeinem DIV im Template unterbringen und dann sollte es angezeigt werden.

Ich hoffe ich konnte dir helfen, wenn nicht bitte noch einmal genauer das Problem schildern und ggf. einen Link posten, damit wir und den Quellcode oder ähnliches genauer anschauen können!

MfG
Scripter

PS: Was meinst du mit dynamisch laden? Wenn du die Komponente im Backend änderst werden sie in Frontend automatisch erneuert, dazu musst du nicht noch einmal in den Quellcode (template.php), oder was meinst du?
Reply
#3
Robzilla Wrote:Ich lade in einem Template Komponenten (mehr oder weniger dynamisch) anhand ihres Namens, der identisch mit dem Page-Slug ist.

<?php get_component((string) return_page_slug()); ?>

Spart 'ne Menge Template Files...

Jetzt möchte ich diesen Komponenten aber noch einen Suffix mit auf den Weg geben, da ich in meinem Template drei Komponenten laden muss.

Code:
<?php get_component(return_page_slug() . '_sidebar'); ?>
<?php get_component(return_page_slug() . '_left'); ?>
<?php get_component(return_page_slug() . '_right'); ?>
I18N, I18N Search, I18N Gallery, I18N Special Pages - essential plugins for multi-language sites.
Reply
#4
@scripter:

<?php get_component((string) return_page_slug()); ?> - lädt ein Modul, das denselben Namen hat wie der Page-Slug (eine Template-File genügt)

"<?php get_component('HIER IST EINE STATISCHE MODULPOSITION - EIN MAL ZU VERGEBEN'); ?>" - lädt ein Modul mit einem bestimmten Namen (für jede Komponente / Seite wäre ein eigenes Template anzulegen)

Damit ich aber mehrere Komponenten auf einer Seite ausgeben kann, musste ich einen Suffix anhängen - ich kann ja nicht mehrere Komponenten mit identischem Namen anlegen.

@mvlcek:

Danke!!! Das war's! :-)
Tag gerettet.

Thank you!!! That's it! :-)
You made my day!
Reply




Users browsing this thread: 2 Guest(s)