Produkt Dokumente als Tab

Thema wurde von Lehnych, 7. August 2015 erstellt.

  1. Lehnych

    Lehnych Aktives Mitglied

    Registriert seit:
    6. August 2015
    Beiträge:
    29
    Danke erhalten:
    7
    Danke vergeben:
    9
    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:
    <?php
    class 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);
        }
    }
    ?>
     
  2. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.096
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    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.
     
  3. Lehnych

    Lehnych Aktives Mitglied

    Registriert seit:
    6. August 2015
    Beiträge:
    29
    Danke erhalten:
    7
    Danke vergeben:
    9
    Ja. Dokumente sind zugewiesen

    könnte man machen, aber das ist keine vernünftige Lösung.
     
  4. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.096
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    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.
     
  5. Lehnych

    Lehnych Aktives Mitglied

    Registriert seit:
    6. August 2015
    Beiträge:
    29
    Danke erhalten:
    7
    Danke vergeben:
    9
    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.
     
  6. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.660
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    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'];
     
  7. Lehnych

    Lehnych Aktives Mitglied

    Registriert seit:
    6. August 2015
    Beiträge:
    29
    Danke erhalten:
    7
    Danke vergeben:
    9
    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:
    <?php
    class 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);
        }
    }
    ?>
     
  8. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.660
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    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:

     <?php
    class 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);
        }
    }
    ?>  
     
  9. Lehnych

    Lehnych Aktives Mitglied

    Registriert seit:
    6. August 2015
    Beiträge:
    29
    Danke erhalten:
    7
    Danke vergeben:
    9
    Hi,
    Danke. Hat super geklappt. Die Dateien stehen für alle zur Ferfügung. Mann könnte es unter Thema: Gambio Add-Ons übernehmen.
     

    Anhänge:

  10. Axxander

    Axxander Neues Mitglied

    Registriert seit:
    12. August 2016
    Beiträge:
    3
    Danke erhalten:
    2
    Danke vergeben:
    2
    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
     
  11. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.)
     
  12. Axxander

    Axxander Neues Mitglied

    Registriert seit:
    12. August 2016
    Beiträge:
    3
    Danke erhalten:
    2
    Danke vergeben:
    2
    Das ist es, danke für die schnelle Antwort :)