Ergebnis 1 bis 20 von 20

Thema: Attribut eines Produktes im Frontend ausgeben

  1. #1
    Contao-Nutzer
    Registriert seit
    29.10.2010.
    Beiträge
    185

    Standard Attribut eines Produktes im Frontend ausgeben

    Hallo zusammen,
    ich hab eine Produktliste/-Kategorie und jedes dieser Produkte hat zusätzlich definierte Attribute (Produktoptionen-Einstellungen)

    Ich möchte die Liste im Frontend so modifizieren, dass ein Teil der Attribute ausgegeben wird.
    Leider komme ich nicht so richtig an die Variable.

    Wenn ich in dem Template mod_iso_productlist.html5 nach

    <?php foreach ($this->products as $product): ?>

    ein

    <?php print_r($product); ?>

    einfüge, dann kann ich sie unter "[arrDatarotected]" im Frontend sehen, komme aber aufgrund des Objekts nicht an die Werte.

    Gibt es da einen Trick?

    Danke!!!

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Am besten zeigst du auch mal einen kleinen Wesentlichen Teil der Debug-Ausgabe. Wahrscheinlich kommst du an die Werte aus diesem arrData direkt mit $product->eineVariableAusDemArrData.
    Geändert von Andreas (30.06.2016 um 13:46 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer
    Registriert seit
    29.10.2010.
    Beiträge
    185

    Standard

    Hallo Andreas,
    die Frage ist, was relevant ist.

    Vielleicht reicht dir diese Abfrage aus dem Debug-Modus:

    Code:
                [36] => Array
                    (
                        [query] => SELECT tl_iso_product_category.*, j1.id AS pid__id, j1.pid AS pid__pid, j1.gid AS pid__gid, j1.tstamp AS pid__tstamp, j1.language AS pid__language, j1.dateAdded AS pid__dateAdded, j1.type AS pid__type, j1.orderPages AS pid__orderPages, j1.inherit AS pid__inherit, j1.alias AS pid__alias, j1.sku AS pid__sku, j1.name AS pid__name, j1.teaser AS pid__teaser, j1.description AS pid__description, j1.meta_title AS pid__meta_title, j1.meta_description AS pid__meta_description, j1.meta_keywords AS pid__meta_keywords, j1.baseprice AS pid__baseprice, j1.shipping_weight AS pid__shipping_weight, j1.shipping_exempt AS pid__shipping_exempt, j1.images AS pid__images, j1.protected AS pid__protected, j1.groups AS pid__groups, j1.guests AS pid__guests, j1.cssID AS pid__cssID, j1.published AS pid__published, j1.start AS pid__start, j1.stop AS pid__stop, j1.shipping_time AS pid__shipping_time, j1.stock_status AS pid__stock_status, j1.doc_files AS pid__doc_files, j1.doc_files_order AS pid__doc_files_order, j1.delivery_quanity AS pid__delivery_quanity, j1.press123 AS pid__press123, j1.noise AS pid__noise, j1.ves123 AS pid__ves123, j2.id AS page_id__id, j2.pid AS page_id__pid, j2.sorting AS page_id__sorting, j2.tstamp AS page_id__tstamp, j2.title AS page_id__title, j2.alias AS page_id__alias, j2.type AS page_id__type, j2.pageTitle AS page_id__pageTitle, j2.language AS page_id__language, j2.robots AS page_id__robots, j2.description AS page_id__description, j2.redirect AS page_id__redirect, j2.jumpTo AS page_id__jumpTo, j2.url AS page_id__url, j2.target AS page_id__target, j2.dns AS page_id__dns, j2.staticFiles AS page_id__staticFiles, j2.staticPlugins AS page_id__staticPlugins, j2.fallback AS page_id__fallback, j2.adminEmail AS page_id__adminEmail, j2.dateFormat AS page_id__dateFormat, j2.timeFormat AS page_id__timeFormat, j2.datimFormat AS page_id__datimFormat, j2.createSitemap AS page_id__createSitemap, j2.sitemapName AS page_id__sitemapName, j2.useSSL AS page_id__useSSL, j2.autoforward AS page_id__autoforward, j2.protected AS page_id__protected, j2.groups AS page_id__groups, j2.includeLayout AS page_id__includeLayout, j2.layout AS page_id__layout, j2.mobileLayout AS page_id__mobileLayout, j2.includeCache AS page_id__includeCache, j2.cache AS page_id__cache, j2.includeChmod AS page_id__includeChmod, j2.cuser AS page_id__cuser, j2.cgroup AS page_id__cgroup, j2.chmod AS page_id__chmod, j2.noSearch AS page_id__noSearch, j2.cssClass AS page_id__cssClass, j2.sitemap AS page_id__sitemap, j2.hide AS page_id__hide, j2.guests AS page_id__guests, j2.tabindex AS page_id__tabindex, j2.accesskey AS page_id__accesskey, j2.published AS page_id__published, j2.start AS page_id__start, j2.stop AS page_id__stop, j2.iso_config AS page_id__iso_config, j2.iso_store_id AS page_id__iso_store_id, j2.iso_setReaderJumpTo AS page_id__iso_setReaderJumpTo, j2.iso_readerJumpTo AS page_id__iso_readerJumpTo FROM tl_iso_product_category LEFT JOIN tl_iso_product j1 ON tl_iso_product_category.pid=j1.id LEFT JOIN tl_page j2 ON tl_iso_product_category.page_id=j2.id WHERE tl_iso_product_category.pid='18' HAVING page_id__type!='error_403' AND page_id__type!='error_404' AND (page_id__start='' OR page_id__start<'1467280800') AND (page_id__stop='' OR page_id__stop>'1467280860') AND page_id__published='1'
                        [explain] => Array
                            (
                                [id] => 1
                                [select_type] => SIMPLE
                                [table] => tl_iso_product_category
                                [type] => ref
                                [possible_keys] => pid
                                [key] => pid
                                [key_len] => 4
                                [ref] => const
                                [rows] => 1
                                [Extra] => 
                            )
    
                        [returned] => 1 row(s) returned
                        [duration] => 0,252 ms
                    )

    "j1.press123 AS pid__press123" und "j1.ves123 AS pid__ves123" sind die 2 relevanten Daten die ich in der Produktliste benötige.


    $product['arrData'], $product['arrData']['press123'] und $produkt->press123; geben leider nichts aus
    Geändert von Schockwelle (30.06.2016 um 12:03 Uhr)

  4. #4
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, ich meinte die Ausgabe von print_r($product).
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  5. #5
    Contao-Nutzer
    Registriert seit
    29.10.2010.
    Beiträge
    185

    Standard

    Code:
        [product] =&gt; Isotope\Model\Product\Standard Object
            (
    
    ....
    
                [arrData:protected] =&gt; Array
                    (
                        [id] =&gt; 18
                        [pid] =&gt; 0
                        [gid] =&gt; 0
                        [tstamp] =&gt; 1465049359
                        [language] =&gt; de
                        [dateAdded] =&gt; 1451048248
                        [type] =&gt; 4
                        [orderPages] =&gt; a:1:{i:0;s:2:"47";}
                        [inherit] =&gt; 
                        [alias] =&gt; 123456
                        [sku] =&gt; 1233456
                        [name] =&gt; Name des Produkts
                        [teaser] =&gt; 
                        [images] =&gt; a:2:{i:0;a:5:{s:3:"src";s:13:"pv115.jpg";s:3:"alt";s:0:"";s:4:"link";s:0:"";s:4:"desc";s:0:"";s:9:"translate";s:4:"none";}i:1;a:5:{s:3:"src";s:17:"id-2-2c446e64.jpg";s:3:"alt";s:0:"";s:4:"link";s:0:"";s:4:"desc";s:0:"";s:9:"translate";s:4:"none";}}
                        [protected] =&gt; 
                        [groups] =&gt; 
                        [guests] =&gt; 
                        [cssID] =&gt; a:2:{i:0;s:0:"";i:1;s:0:"";}
                        [published] =&gt; 1
                        [start] =&gt; 
                        [stop] =&gt; 
                        [sdfsdf] =&gt; 
                        [shipping_time] =&gt; 1 bis 3 Tage
                        [stock_status] =&gt; Lager
                        [docs] =&gt; 
                        [docs_order] =&gt; 
                        [doc_files_order] =&gt; 
                        [delivery_quanity] =&gt; 122
                        [press123] =&gt; 7 bar
                        [noise] =&gt; 68
                        [ves123] =&gt; 25
                        [images_fallback] =&gt; a:2:{i:0;a:5:{s:3:"src";s:13:"pv115.jpg";s:3:"alt";s:0:"";s:4:"link";s:0:"";s:4:"desc";s:0:"";s:9:"translate";s:4:"none";}i:1;a:5:{s:3:"src";s:17:"id-2-2c4456e64.jpg";s:3:"alt";s:0:"";s:4:"link";s:0:"";s:4:"desc";s:0:"";s:9:"translate";s:4:"none";}}
                        [sorting] =&gt; 128
                    )
    Geändert von Schockwelle (30.06.2016 um 13:05 Uhr)

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich hatte product aus Versehen mit "k" geschrieben. $product->press123 sollte funktionieren.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  7. #7
    Contao-Nutzer
    Registriert seit
    29.10.2010.
    Beiträge
    185

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Ich hatte product aus Versehen mit "k" geschrieben. $product->press123 sollte funktionieren.
    Copy & Paste

    Aber trotzdem funktioniert es leider nicht, wenn ich echo $product->press123; aufrufe, dann kommt nichts.
    ...sehr merkwürdig.

  8. #8
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dann muss ich jetzt auch erstmal aufgeben. Vielleicht findest du eine Idee, wenn du dir die original Templates ansiehst.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  9. #9
    Contao-Nutzer
    Registriert seit
    29.10.2010.
    Beiträge
    185

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Dann muss ich jetzt auch erstmal aufgeben. Vielleicht findest du eine Idee, wenn du dir die original Templates ansiehst.
    Herzlichen Dank für deine Hilfe, auch wenn ich nicht wirklich weiter bin.

    Ich denke, dass das Problem das "protected"-Array ist.

  10. #10
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das denke ich nicht. Es sollte einen Weg geben, diese Variable abzugreifen, ich komm grad nur nicht drauf.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  11. #11
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du musst das entsprechende iso_list_… Template anpassen, nicht das generelle Modultemplate ;-)
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  12. #12
    Contao-Nutzer
    Registriert seit
    29.10.2010.
    Beiträge
    185

    Standard

    Zitat Zitat von andreas.schempp Beitrag anzeigen
    Du musst das entsprechende iso_list_… Template anpassen, nicht das generelle Modultemplate ;-)
    Das war die Lösung, Danke!!!

    $this->press123 funktioniert nun in der iso_list_...

  13. #13
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Es würde schon auch im Modul-Template funktionieren, aber "$product" ist da ein Array ("html" enthält das gerenderte "iso_"-Template, "class" die CSS Klassen, "product" eben das Produkt selbst etc). Du müsstest da
    PHP-Code:
    echo $product['product']->press123
    verwenden. Aber höchstwahrscheinlich ist die Anpassung im "iso_"-Template sowieso die richtige Variante, weil es jedes einzelne Produkt betrifft.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  14. #14
    Contao-Nutzer Avatar von tuxracer
    Registriert seit
    14.04.2011.
    Ort
    Essen
    Beiträge
    102

    Standard

    Möchte mal kurz hier einharken, da ich ein ähnliches Problem mit dem Template iso_list_default.html5 habe:

    Ich habe einem Produkt ein Attribut "Country" vergeben, das in diesem Fall das Vetriebsgebiet ist. In den Templatevariablen schaut das dann so aus:

    Code:
    [product] => Isotope\Model\Product\Standard Object
    
    [arrData:protected] => Array
                    (
                        [id] => 516
                        [pid] => 0
                        [gid] => 0
                        [tstamp] => 1467272454
                        [language] => en
                        [dateAdded] => 1465373674
                        [type] => 5
                        [orderPages] => a:1:{i:0;s:3:"260";}
                        [inherit] => 
                        [alias] => ein Alias
                        [sku] => 000002
                        [name] => Aktionspaket Frühjahr 2015
                        [teaser] => Starke Lösungen für den Rohrleitungsbau
                        [description] => 
    Hier kommt der Detailtext hin.
                        [images] => Angaben für mehr Übersicht gelöscht, viele Bilder....;}}
                        [groups] => 
                        [published] => 1
                        [start] => 
                        [stop] => 
                        [size] => a:0:{}
                        [producttyp] => 
                        [sparte] => 3
                        [media] => 7
                        [output] => 11
                        [country] => 14
                        [images_fallback] => inhalte gelöscht, viele Bilder....;}}
                        [sorting] => 256
                    )
    Hier ist Country mit der ID 14 das Land "Germany", welches ich in der Datenbanktabelle "tl_iso_attribute_option" auch entsprechend unter der ID 14 gefunden habe.
    Ich möchte aber aus dieser Tabelle nicht auf die ID sondern auf das Feld "label" zugreifen und es im Template ausgeben lassen.

    Kann mir jemand einen Tip geben, ob und wenn ja wie das geht?
    Herzlichen Dank für jede Hilfe vorab!

    Viele Grüße, Marcel

  15. #15
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich bin mir jetzt nicht 100%ig sicher, aber ich meine, du kannst in diesem Selectfeld einstellen, welcher Wert im FE ausgegeben werden soll.

    Sorry, ich war bei MetaModels.
    Geändert von Andreas (05.07.2016 um 18:05 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  16. #16
    Contao-Nutzer Avatar von tuxracer
    Registriert seit
    14.04.2011.
    Ort
    Essen
    Beiträge
    102

    Standard

    Meintest du diese Seite - wenn ja, was muss ich denn da ändern?
    Isotope eCommerce / Shop-Konfiguration / Attribute / Name der Attributgruppe :

    Anhang 17973

  17. #17
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dazu gibt es eine Hilfsmethode, im iso_list_* Template kannst du folgendes schreiben:

    PHP-Code:
    <?= $this->generateAttribute('country'?>
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  18. #18
    Contao-Nutzer Avatar von tuxracer
    Registriert seit
    14.04.2011.
    Ort
    Essen
    Beiträge
    102

    Standard

    Hallo Andreas,

    so hat's funktioniert - vielen Dank!!!!

    Viele Grüße, Marcel

  19. #19
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Sorry, ich war bei MetaModels.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  20. #20
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard wie zusätzlich den Attribut-Name im Frontend ausgeben?

    wie Andreas hier geschrieben hat kann ich mit
    PHP-Code:
    <?= $this->generateAttribute('country'?>
    die Optionen eines Attributs ausgeben lassen. Wie kann ich aber zusätzlich auch den Namen des Attributs (hier 'country') im FE ausgeben? Danke für Tipps und Hinweise.
    Geändert von 3dr (16.12.2020 um 13:04 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •