->html() hat keine Parameter. Man würde im Attribut-Template selbst prüfen ob ein Leser aktiv ist über den GET Parameter und dann einfach eine andere Ausgabe machen.
Ankündigung
Einklappen
Keine Ankündigung bisher.
CustomElements und CustomCatalog Template-Variablen
Einklappen
Das ist ein wichtiges Thema.
X
X
-
-
Ab CE 2.2.0 hat ->html() einen Parameter für ein individuelles TemplateZitat von Tim Beitrag anzeigen->html() hat keine Parameter. Man würde im Attribut-Template selbst prüfen ob ein Leser aktiv ist über den GET Parameter und dann einfach eine andere Ausgabe machen.
- 1 Likes
Kommentar
-
Hallo,
wie kann ich in einem Modul CustomCatalog-Leser alle Elemente auslesen, die sich in einer Gruppe befinden?
sind nicht vorhanden.PHP-Code:$this->groups();
// und
$this->group('myGroup')
mitbekomme ich zumindest die Gruppen. Aber komme an der Stelle dann auch nicht an die Felder.PHP-Code:$groups = \PCT\CustomElements\Core\GroupFactory::findPublishedByParentId(CustomElementID)
Kommentar
-
-
Wie bereits erwähnt existieren diese Felder/Methoden bei mir nicht in dem Objekt :-( Ich möchte das Modul CustomCatalog-Leser nutzen, nicht das Inhaltselement, bei dem das ganze funktioniert.
Hier noch der Fehler
Ich vermute den "Fehler" (das Fehlen) in CustomCatalog.php in der function render().Code:#0 templates/customcatalog_layout_immo_leser.html5(89): __error(2, 'Invalid argumen...', '/home/realis/do...', 89, Array) #1 system/modules/core/library/Contao/BaseTemplate.php(88): include('/home/realis/do...') #2 system/modules/core/library/Contao/Template.php(277): Contao\BaseTemplate->parse() #3 system/modules/core/classes/FrontendTemplate.php(46): Contao\Template->parse() #4 system/modules/pct_customelements_plugin_customcatalog/PCT/CustomElements/Plugins/CustomCatalog/Core/CustomCatalog.php(497): Contao\FrontendTemplate->parse() #5 system/modules/pct_customelements_plugin_customcatalog/PCT/CustomElements/Plugins/CustomCatalog/Frontend/ModuleReader.php(142): PCT\CustomElements\Plugins\CustomCatalog\Core\CustomCatalog->render() #6 system/modules/core/modules/Module.php(287): PCT\CustomElements\Plugins\CustomCatalog\Frontend\ModuleReader->compile() #7 system/modules/pct_customelements_plugin_customcatalog/PCT/CustomElements/Plugins/CustomCatalog/Frontend/ModuleReader.php(91): Contao\Module->generate() #8 system/modules/core/elements/ContentModule.php(59): PCT\CustomElements\Plugins\CustomCatalog\Frontend\ModuleReader->generate() #9 system/modules/core/library/Contao/Controller.php(484): Contao\ContentModule->generate() . . .
Kommentar
-
CC denkt nicht in Gruppen, sondern in Feldern je Eintrag. Du wirst das mit Datenbankabfragen lösen können oder einfach über die PID des jeweiligen Attributes.
PHP-Code:$objGroup = \PCT\CustomElements\Core\GroupFactory::findById( $entry->field('myField')->attribute->get('pid') );
echo $objGroup->get('alias');
Zuletzt geändert von Tim; 24.11.2016, 14:46.
Kommentar
-
Moin,
mit
kann ich ja alle Angaben zu Werten bzw. "Produkten" einer Liste ausgeben. Aber wie kann ich da jetzt die Angaben genauer ansteuern? Also wenn ich einen CC mit mehreren Elementen habe, die aber zwecks Styling einzeln ausgeben möchte, so in der form $this->entry('myField')->html(); etc.PHP-Code:<?php foreach ($this->entries as $entry) : ?
<?php foreach ($entry->get as $field) : ?
<?php echo $field->html();
<?php endforeach; ?>
<?php endforeach; ?>
Kommentar
-
Da gibt es zig Möglichkeiten. Du kannst die Elemente selbst anhand der Klassen unterscheiden, auch z.B. nach einem Wert in einem Feld (so funktionieren z.B. Contao normale ID/CSS Klasse Felder). Du kannst auch mal das customcatalog_default2.html5 Template anschauen, CC kann je Eintrag unterschiedliche Templates fahren -> hier auch das Templateauswahl-Attribut einmal anschauen.Zitat von Sukrams Beitrag anzeigenMoin,
kann ich ja alle Angaben zu Werten bzw. "Produkten" einer Liste ausgeben. Aber wie kann ich da jetzt die Angaben genauer ansteuern? Also wenn ich einen CC mit mehreren Elementen habe, die aber zwecks Styling einzeln ausgeben möchte, so in der form $this->entry('myField')->html(); etc.
Kommentar
-
Ich versuche die Datensätze einer einzelnen Gruppe auszugeben nach dieser Vorlage:
Das Array ist aber leer.PHP-Code:foreach($this->group('myGroup')->fields as $field)
{
echo $field->html();
}
In diesem Fall nutze ich ein Listenmodul mit individuellem Lesertemplate und Seitenfilter. (Nur ein Produkt auf der Seite).
Woran kann das liegen?
- 1 Likes
Kommentar
-
CE oder CC?Zitat von eblick Beitrag anzeigenIch versuche die Datensätze einer einzelnen Gruppe auszugeben nach dieser Vorlage:
Das Array ist aber leer.PHP-Code:foreach($this->group('myGroup')->fields as $field)
{
echo $field->html();
}
In diesem Fall nutze ich ein Listenmodul mit individuellem Lesertemplate und Seitenfilter. (Nur ein Produkt auf der Seite).
Woran kann das liegen?
Kommentar
-
Hast recht. Das stimmt so nicht. So ist es richtig. (hab es vorn auch geändert). Musste selbst in unseren Theme Templates schauen
PHP-Code:foreach($this->group('myGroup') as $field)
{
echo $field->html();
}
- 1 Likes
Kommentar
-
Das ist ein für das CE Haupttemplate.Zitat von eblick Beitrag anzeigenHabs geändert, kommt aber immer noch nix
Mal ne dumme Frage... von welchem Template sprechen wir hier?
Wie oben gesagt habe ich diesen Code in einem Listentemplate eingesetzt.
Oder soll es in das Ausgabetemplate der Gruppe??
In CC geht das inzwischen auch. Das wäre über $entry. Schau mal in das customcatalog_grouped.
Kommentar
-
Als Neuling stehe ich gerade auf dem Schlauch und die Suche im Forum bringt mich nicht weiter:
Leere Felder ausblenden
Wenn ein Attribut keinen Eintrag hat, soll diese gesamte Zeile ausgeblendet werden:
<div class="spalten_wrapper">
<div class="spalte-1"><strong>Ertrag pro Hektar</strong></div>
<div class="spalte-2"><?php echo $this->field('mein_feld')->html(); ?>kg</div>
</div>
Sämtliche Varianten mit:
if($entry->field('mein_feld')->value()) {}
habe ich getestet und erhalte die Fehlermeldung:
Fatal error: Call to a member function field() on a non-object in /contao/templates/layout/customcatalog_catalog_reader.html5 on line 83
Über einen Tip wäre ich sehr dankbar.
CC - Version 2.3.0, In der Datenbank steht bei «mein_feld» eine 0Zuletzt geändert von sinatra; 13.01.2017, 14:53.
Kommentar

Kommentar