Zitat von D23
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
CustomElements und CustomCatalog Template-Variablen
Einklappen
Das ist ein wichtiges Thema.
X
X
-
-
Komme ich innerhalb der Schleife auch an einzelne Feldwerte?
Einen Kommentar schreiben:
-
Zitat von D23 Beitrag anzeigenAlso erstmal umschiffen und lieber die Werte einzeln ausgeben?
foreach($this->group('myGroup') as $fields)
{
foreach($fields as $field)
{
echo $field->html();
}
}
- 1 Likes
Einen Kommentar schreiben:
-
Also erstmal umschiffen und lieber die Werte einzeln ausgeben?
Einen Kommentar schreiben:
-
Mhh... ich weiss nicht mehr warum wir das intern als verschachtelten Array gesetzt haben. Es hatte irgendwas damit zu tun, dass Gruppen ohne Felder bzw. Feldwerte als leer deklariert werden. Einen Grund dafür sehe ich im Nachhinein nicht mehr. Ich notiere es mir, dass es wieder nach diesem Schema hier gesammelt wird.Zuletzt geändert von Tim; 28.03.2017, 07:53.
Einen Kommentar schreiben:
-
Hallo,
das hier wirft mir einen Fehler:
Zitat von Tim Beitrag anzeigenCE: Eine bestimmte Gruppe inkl. aller Felder rendern
PHP-Code:foreach($this->group('myGroup') as $field)
{
echo $field->html();
}
Fehler:
Fatal error: Uncaught exception Error with message Call to a member function html() on array thrown in templates/customelement_program_entry.html5 on line 22
#0 system/modules/core/library/Contao/BaseTemplate.php(88): include() #1 system/modules/core/library/Contao/Template.php(277): Contao\BaseTemplate->parse() #2 system/modules/core/classes/FrontendTemplate.php(46): Contao\Template->parse() #3 system/modules/core/elements/ContentElement.php(289): Contao\FrontendTemplate->parse() #4 system/modules/pct_customelements/PCT/CustomElements/Frontend/ContentCustomElement.php(128): Contao\ContentElement->generate() #5 system/modules/core/library/Contao/Controller.php(484): PCT\CustomElements\Frontend\ContentCustomElement->generate() #6 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao \ContentModel), 'main') #7 system/modules/core/modules/Module.php(287): Contao\ModuleArticle->compile() #8 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate() #9 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false) #10 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\Articl eModel), false, false, 'main') #11 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main') #12 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true) #13 index.php(20): Contao\FrontendIndex->run() #14 {main}
Einen Kommentar schreiben:
-
Funktioniert!
Dankeschön - bei dem schnellen Support sind die Themes echt jeden Cent wert.
- 2 Likes
Einen Kommentar schreiben:
-
Ohne eine direkte Wertprüfung arbeiten oder auf einen String testen.
<?php if($this->field('mein_feld')->value()): ?>
Einen Kommentar schreiben:
-
Zu früh gefreut . . .
Im CC Leser:
Wenn beim Attributtyp Text eine Zahl steht funktioniert das wie oben beschrieben.
Wenn bei Attributtyp Text «reiner Text» steht wird das ausgeblendet, soll aber nur ausgeblendet sein, wenn nichts in der Datenbank steht.
Wie kann ich dem CC Leser beibringen, dass alles ausser «leerer Eintrag» angezeigt werden soll?Zuletzt geändert von sinatra; 16.01.2017, 13:03.
Einen Kommentar schreiben:
-
Hallo Tim,
das war´s – funktionier perfekt – da wäre ich nie drauf gekommen.
Vielen Dank für den SuperSupport!
- 1 Likes
Einen Kommentar schreiben:
-
Das Feld muss im CC Liste/Leser sichtbar sein. Sonst kann kein Objekt daraus erstellt werden und ein non-object Fehler resultiert.
Im CC-Leser kannst du mit $this arbeiten, es kommt nur ein Eintrag rein. In der Liste wäre es innerhalb der foreach Schleife z.B. ein $entry
PHP-Code:<?php if($this->field('mein_feld')->value() > 0): ?>
<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>
<?php endif; ?>
Einen Kommentar schreiben:
-
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, 13:53.
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
-
Habs 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??
Einen Kommentar schreiben:
Einen Kommentar schreiben: