Hallo, ich möchte Dokumente, die einem Produkt zugewiesen sind als Tab anzeiegn lassen. Dazu habe ich AddOn xsellTab als Beispiel genommen. Ich habe geschafft, dass Tab erzeugt wird. Der bleibt aber leer. $t_view_html spukt kein ergebnis raus. für eure Hilfe bin ich sehr dankbar: so sieht meine Datei aus: PHP: <?phpclass mediaTab_GMTabTokenizer extends MediaTab_GMTabTokenizer_parent { function mediaTab_GMTabTokenizer($content) { global $product; $coo_products_media = MainFactory::create_object('ProductMediaContentView'); $coo_products_media->setProductId($this->product->data['products_id']); $coo_products_media->setLanguageId($this->languageId); $coo_products_media->setCustomerStatusId($this->customerStatusId); $t_view_html = $coo_products_media->get_html($product); if($t_view_html!='') { $coo_languageTextmgr = MainFactory::create_object('LanguageTextManager', array('products_media',$_SESSION['languages_id'])); if(method_exists($coo_languageTextmgr,'get_text')){ $heading_media = $coo_languageTextmgr->get_text('heading_products_media'); } else { $heading_media = $coo_languageTextmgr->v_section_content_array['products_media']['heading_products_media']; } $t_mediaTab = '[TAB: '.$heading_media.']'.$t_view_html; $content=$content.$t_mediaTab; } parent::__construct($content); }}?>
Dumme Frage: Aber hast du auch dem Artikel Dokumente zugewiesen? Und 2. Frage - Du könntest bei dem Artikel doch auch einen Tab normal anlegen und da die PDF usw. verlinken.
Was spricht aus deiner Sicht dagegen? Ich pers. sehe den Vorteil darin das ich mit den verlinkten Dateien im Tab einfacher arbeiten kann als mit dem Content-Manager / Artikel-Content. Und bin generell flexibler was die gestaltung angeht, wie z.B. Beschreibungstexte zum Download usw. Ändern sich Dateien, einfach im Ordner auf dm Server überschreiben. Daher würde mich interessieren welche Vorteile deine Methode bietet, da wir auch oft mal Dateien bei Artikeln anbieten.
Sorry Ich habe mich unglüklich ausgedrückt. Natürlich spricht nichts dagegen. Dein Ansatz ist eh Userorientier. Sprich mann muss wirklich gut mit Editor umgehen können. Da mir pimär um die Templateentwicklung geht, möchte ich die Möglichkeiten nutzen, die im System schon vorhanden sind.
Hi, in der folgenden Zeile wird die languageId übergeben, aber ich vermute mal diese wird nicht gesetzt, weshalb kein Inhalt zurückkommt: PHP: $coo_products_media->setLanguageId($this->languageId); Wenn du folgendes über die Zeile hinzufügst, sollte auch Inhalt zurückkommen: PHP: $this->languageId = $_SESSION['languages_id'];
Hallo Till, das habe ich eigebaut, aber das was nicht alles. Aus customerStatusId muss gessetzt werden und setProductId. customerStatusId habe ich auch hingekriegt, setProductId aber nicht. Wie könnte man das machen? Aktuell sieht es so aus: PHP: <?phpclass mediaTab_GMTabTokenizer extends MediaTab_GMTabTokenizer_parent { function mediaTab_GMTabTokenizer($content) { global $product; $coo_products_media = MainFactory::create_object('ProductMediaContentView'); $coo_products_media->setProductId($this->product->data['products_id']); $this->languageId = $_SESSION['languages_id']; $coo_products_media->setLanguageId($this->languageId); $this->customerStatusId = $_SESSION['customers_status']['customers_status_id']; $coo_products_media->setCustomerStatusId($this->customerStatusId); $t_view_html = $coo_products_media->get_html(); if($t_view_html!='') { $coo_languageTextmgr = MainFactory::create_object('LanguageTextManager', array('products_media',$this->languageId)); if(method_exists($coo_languageTextmgr,'get_text')){ $heading_media = $coo_languageTextmgr->get_text('text_media_content_tab'); } else { $heading_media = $coo_languageTextmgr->v_section_content_array['products_media']['text_media_content_tab']; } $t_mediaTab = '[TAB: '.$heading_media.']'.$t_view_html; $content=$content.$t_mediaTab; } parent::__construct($content); }}?>
Hi, durch die Angabe global $product ist das $product Objekt ja vorhanden, also könnte man davon die pID auslesen mit $product->pID und diese übergeben in $coo_products_media->setProductId($product->pID); PHP: <?phpclass mediaTab_GMTabTokenizer extends MediaTab_GMTabTokenizer_parent { function mediaTab_GMTabTokenizer($content) { global $product; $coo_products_media = MainFactory::create_object('ProductMediaContentView'); $coo_products_media->setProductId($product->pID); $this->languageId = $_SESSION['languages_id']; $coo_products_media->setLanguageId($this->languageId); $this->customerStatusId = $_SESSION['customers_status']['customers_status_id']; $coo_products_media->setCustomerStatusId($this->customerStatusId); $t_view_html = $coo_products_media->get_html(); if($t_view_html!='') { $coo_languageTextmgr = MainFactory::create_object('LanguageTextManager', array('products_media',$this->languageId)); if(method_exists($coo_languageTextmgr,'get_text')){ $heading_media = $coo_languageTextmgr->get_text('text_media_content_tab'); } else { $heading_media = $coo_languageTextmgr->v_section_content_array['products_media']['text_media_content_tab']; } $t_mediaTab = '[TAB: '.$heading_media.']'.$t_view_html; $content=$content.$t_mediaTab; } parent::__construct($content); }}?>
Hi, Danke. Hat super geklappt. Die Dateien stehen für alle zur Ferfügung. Mann könnte es unter Thema: Gambio Add-Ons übernehmen.
Hi, wird mit dieser Erweiterung ein einziger Tab für alle Dokumente angelegt? Wenn ja, dann wurde das ja mittlerweile als Standard in Gambio übernommen, richtig? Ich würde gerne die dem Artikel zugeordneten Artikelinhalte in separaten Tabs (Nicht alle im selben) anzeigen lassen. Damit könnten die Texte, die auf mehrere Artikel zutreffen, zentral verwaltet werden und dennoch "richtig" im Shop angezeigt werden, statt nur als Pdf-Link. Hat jemand eine Idee, wie ich das anstellen könnte? Vielen Dank und Grüße
Du willst einen Text im Content-Manager erstellen und in tabs bei verschiedenen Artikeln anzeigen lassen? Wenn ja, dann gibt es eine Anleitung: (Link nur für registrierte Nutzer sichtbar.)