Quantcast
Channel: Programmierung - Shopware Community Forum
Viewing all 2871 articles
Browse latest View live

Tab in Detailseite Extension

$
0
0

Hi zusammen,

ich bringe gerade meine alten Extensions auf Shopware 5 und dabei hatte ich eine alte Extension,
die einen zusätzlichen Tab einbindet, was nun leider nicht mehr funktioniert.

So sieht das Template nun aus:

 

{extends file="parent:frontend/detail/index.tpl"}

{block name="frontend_detail_tabs_navigation_inner" append}

  	<a href="#" class="tab--link" title="Größentabelle">{s name='Sizetabletab'}Größentabelle{/s}</a>

{/block}

{block name="frontend_detail_tabs_content_inner" append}
   <div class="tab--container">



  </div>
{/block}

Vielleicht weiß jemand von Euch Rat, was hier schief läuft...

Es erscheint keine Fehlermeldung, die Seite wird allerdings nur bis zu den Tabs hin gerendert.

Vielen Dank und viele Grüße,

Christian


Top Navigation: Dropdown für Login, Merkzettel, Warenkorb etc.

$
0
0

Hallo liebe Community,

ist es möglich in der Top-Navigation ein Drop-Down einzufügen, wie bei Service, wo man sich gleich einloggen kann etc?

Und wenn ja wie?

Ich würde mich sehr über Rückmeldungen freuen.

Controller liefert kein Ergebnis mehr / Shopware 5 Update

$
0
0

Hi zusammen,

folgender Controller funktionierte in Shopware 4 noch einwandfrei:

 

class Shopware_Controllers_Frontend_CbeVariantsDetail extends Enlight_Controller_Action
{
    protected $mediaRepository = null;

    /**
     * Get a reference to the sArticle module
     *
     * @return sArticles
     */
    private function getArticleModule() {
        return Shopware()->Modules()->Articles();
    }

    /**
     * Get the media repository
     *
     * @return \Shopware\Models\Media\Repository
     */
    private function getMediaRepository()
    {
        if ($this->mediaRepository === null) {
            $this->mediaRepository = Shopware()->Models()->getRepository('Shopware\Models\Media\Media');
        }
        return $this->mediaRepository;
    }

    /**
     * Returns the media album used for articles
     *
     * @return \Shopware\Models\Media\Album|null
     */
    private function getArticleAlbum()
    {
        return $this->getMediaRepository()
                ->getAlbumWithSettingsQuery(-1)
                ->getOneOrNullResult();
    }

    /**
     * Get the configured number of variants from database
     */
    public function getVariantsAction() {
        Shopware()->Plugins()->Controller()->ViewRenderer()->setNoRender();

        $config = Shopware()->Plugins()->Frontend()->CbeVariantsDetail()->Config();

        $articleId = $this->Request()->getParam('articleId');
        $selectedValue = $this->Request()->getParam('selectedValue');

        list($variants) = $this->getArticleVariants($articleId, $selectedValue);  
        
        // echo "<pre>";
        // print_r($variants);
        // echo "<pre>";
                
        $selectedarray = array();
        $allcolors = array();
        $allcolornames = array();  
        
        if ($config->lastSegment == "2") {
          $colornumber = 2;
        } else {
          $colornumber = $config->colorNumber;
        }
        
        foreach($variants as $key => $value) {
          
          $selected = explode($config->colorSeparator, $value['number']); 
          $color = trim(strtolower($selected[0]. $config->colorSeparator . $selected[$colornumber - 1]));     
          
          if(!in_array($color, $allcolors) && $color != NULL)	{ 
            $allcolors[] = $color;       
          }          
          
        }
        
        foreach($variants as $key => $value) {
         
          $colornames = $value['configuratorOptions'][0]['name'];      

          if(!in_array($colornames, $allcolornames) && $colornames != NULL)	{ 
            $allcolornames[] = $colornames;       
          }          
                 
        }
        
        if (!empty($selectedValue)) {
        	$selectedValue = explode($config->colorSeparator, utf8_encode($selectedValue));
          $selectedValue = $selectedValue[1];
        } else {
          // get sizes from first color
          $selectedValue = explode($config->colorSeparator, utf8_encode($allcolors[0]));
          $selectedValue = $selectedValue[1];
        }                 
                
        list($selectedvariants) = $this->getArticleVariants($articleId, $selectedValue);                                         
                             
        $json = json_encode(array(
          'colors' => $allcolors,
          'colornames' => $allcolornames,
          'variants' => $selectedvariants
        ));    
                
        echo $json;
         
    }


    /**
         * Helper method which returns a Query object in order to select the required variant data
         *
         * @param $articleId
         * @param $selectedValue
         * @return Doctrine\ORM\Query
         */
        protected function getVariantsQuery($articleId, $selectedValue)
        {
            
            $config = Shopware()->Plugins()->Frontend()->CbeVariantsDetail()->Config();
            $config->colorSeparator;            
            
            /** @var $article Shopware\Models\Article\Article */
            /*$article = Shopware()->Models()->find(
                '\Shopware\Models\Article\Article', $articleId
            );*/

            $builder = Shopware()->Models()->createQueryBuilder();
            $builder->select(array('partial details.{id, articleId, number, active, inStock, releaseDate}', 'partial options.{id, groupId, name, position}' , 'partial prices.{id, price}'))
                    ->from('Shopware\Models\Article\Detail', 'details')
                    ->leftJoin('details.configuratorOptions', 'options') 
                    ->leftJoin('details.prices', 'prices')
                    ->where('details.articleId = :articleId')                                         
                    ->andWhere('details.active = true')
                    ->setParameters(array('articleId' => $articleId)); 
                    
                    //die( $builder->getQuery()->getSQL());
                    
            if (!empty($selectedValue)) {         
              if ($config->lastSegment == "1") {
                $builder->andWhere('details.number LIKE ?1')->setParameter('1', '%' . $config->colorSeparator . $selectedValue . $config->colorSeparator . '%');
              }
              if ($config->lastSegment == "2") {
                $builder->andWhere('details.number LIKE ?1')->setParameter('1', '%' . $config->colorSeparator . $selectedValue);
              }              
            }
                        
            //add order by conditions for the correct display order
            $builder->addOrderBy('options.groupId', 'ASC'); 
            //$builder->addOrderBy('details.number', 'ASC');
            $builder->addOrderBy('details.position', 'ASC');    
            $builder->addOrderBy('details.id', 'ASC');                               
            
            return $builder->getQuery();
        }

    /**
     * Helper method which gets variants for a given articleId and populates the output array with cover images
     *
     * @param $articleId
     * @return array
     */
    public function getArticleVariants($articleId, $selectedValue)
    {
        // Get default article album
        $articleAlbum = $this->getArticleAlbum();

        // Get variants for the article
        $query = $this->getVariantsQuery($articleId, $selectedValue);

        $query->getArrayResult();

        $paginator = new \Doctrine\ORM\Tools\Pagination\Paginator($query);

        $variants = $paginator->getIterator()->getArrayCopy();

        // Get cover image for each variant
        foreach($variants as &$variant) {
            $variant['cover'] = $this->getArticleModule()->getArticleCover(
                $articleId,
                $variant['number'],
                $articleAlbum
            );

        }

        return array($variants);
    }
}

Habt Ihr ne Idee, was sich hier konkret von Shopware 4 auf 5 geändert haben könnte?

Vielen Dank und viele Grüße,

Chris

Wie komme ich an die Varianten Bestellnummer ausserhalb der Detailseite???

$
0
0

Hallo,

 

und schon wieder eine Frage, welche vieleicht diesmal beantwortet wird:

 

Ich habe z.B.:

eine Farbe Grün mit dem Wert=101 und der Gruppe 7

und eine Größe: XS, dem Wert 75 und der Gruppe 6

die ArtikelID ist 150

Die Grundartikelnummer ist: SW10150

Wähle ich nun eine andere Größe: M, mit dem Wert 69 und der Gruppe 6, so kommt nun eine andere Bestellnummer SW10150.7 - dies kann ich auf der Detailseite sehen.

 

Befinde ich mich aber z.B. im Listing, dann erhalte ich zwar die Werte der Farben und der Größe, aber ich weiss nicht wie ich an die Artikel Variantennummer kommen soll - nämlich 10150.7

und NICHT 10150.

Kann man das über Javascript realiesieren? Wenn ja, könnte mir da bitte jemand einen "Anschubser" geben?

Oder kann man das über sql machen?

Ich habe mir schon einen Wolf in der Datenbank gesucht, aber ich finde keinen Zusammenhang zwischen den Farben, den Größen und den Gruppen mit den Varianten.

Aber da muss es doch etwas geben!!!

 

Danke für Eure Hilfe im Vorraus

Rendern / Abruf wie durch google - Wie sollten die Ergebnisse im Idealfall sein?

$
0
0

Hallo,

bisher war es beim Rendern von Artikeldetailseiten immer so, dass links und rechts die Ansicht identisch war.

Heute habe ich einen Artikel geprüft, der erst seit ein paar Tagen online ist. Nun ist rechts zwar korrekt, aber links "klebt" alles (Bild, Links, Text, Zubehör) am linken Rand untereinander. Also es ist quasi kein Design da.

Darunter steht dies:

URL     Typ     Grund     Wichtigkeit     
/widgets/listing/productNavigation?ordernumber=TFH9&categoryId=39     AJAX     Blockiert     Niedrig    
/widgets/Captcha/refreshCaptcha?_=1460698771584     AJAX     Blockiert     Niedrig    
/widgets/index/refreshStatistic?requestPage=/seourl&requestController=detail&articleId=71&callback=jQuery211016598502290435135_1460698771582&_=1460698771583     AJAX     Blockiert     --
/web/cache/1460573594_bbb89c037cb8dc7f19c0d3e17a96be12.css     Stylesheet     Vorübergehend nicht erreichbar     --    
/media/image/a5/40/72/artikelbild_200x200.jpg     Bild     Vorübergehend nicht erreichbar     --

 

Bei der Startseite/Einkaufswelt ist so, dass rechts wieder alles richtig ist und links Kopf mit Navi und Footer vorhanden, dazwischen alles weiß. Also keine Banner, und vor allem auch kein html-Feld mit dem großen Text. Bei weiteren Einkaufswelten, die komplett aus html-elementen bestehen, wird ebenfalls kein Text angezeigt.

Nachdem was ich hier so finden konnte, sollte das bei der Einkaufswelt nicht so sein.

Ist hier eine gesonderte Einstellung bei der Einkaufswelt zu treffen?

Bzgl. des Artikels würde ich annehmen, dass entweder alle zu rendern sind oder keine. Die Artikel wurden anhand einer Vorlage erstellt, die dupliziert wurde. Lediglich Text und Bild unterscheiden sich.

 

LG

doppelte Inhalte zu Hauf - score_rewrite_urls wird ignoriert?

$
0
0

Guten Morgen,

entweder habe ich eine Montagsversion der Software oder aber die folgenden Probleme müssten doch schon bei anderen aufgetaucht sein. Auf der Lösungssuche für einen Fehler, finden sich immer weitere...

Die WMT zeigen doppelte Inhalte an

1. Beispiel

http://www.domain.de/SEO-URL

http://www.domain.de/SEO-URL?sPartner=xxx

Wenn man reichlich Partner hat oder auch die Dateien für Produktlister mit Partnerid trackt, ist das bescheiden.

 

2. Beispiel

http://www.domain.de/detail/index/sArticle/562/sCategory/5
http://www.domain.de/SEO-URL

Beide URLs rufen den gleichen Artikel auf.

 

3. Beispiel

/detail/index/sArticle/471/sCategory/45
/detail/index/sArticle/471

Beide URLs rufen den gleichen Artikel auf.

 

4. Beispiel

http://www.domain.de/SEO-URL

http://www.domain.de/SEO-URL?c=6

Hierzu habe ich einen 4 Jahre alten Beitrag gefunden, wonach dies damals behoben wurde. Mein Shop ging im März 2016 online in der damals aktuellsten Version und es werden alle Updates gemacht.

noch eine Variante dazu:

/seourlartikel1?c=42
/seourlartikel1?c=62
/seourlartikel1?c=6

Alle 3 URLs rufen den gleichen Artikel auf.

 

Hier werden in Kürze auch doppelte Inhalte zu erwarten sein:

/detail/index/sArticle/780
/detail/index/sArticle/782
/detail/index/sArticle/788

Diese URLs erschienen auf unerklärliche Weise in den WMT, obwohl eine SEO-URL angelegt ist. Jedoch sind weder die o.g. noch die SEO urls bisher in der Sitemap enthalten gewesen.

Der Eintrag in der Datenbank ist korrekt, bei Mouseover oder Klick im Shop selbst wird die SEO-URL mit ?c=x angezeigt/aufgerufen.

Inzwischen habe ich stichprobenartig die URLs aus der score_rewrite_urls geprüft - ältere und ganz neue - alle Artikel sind über SEO-URL und o.g. aufbau zu erreichen, bei allen Artikeln wird im Shop die SEO-URL angezeigt. Und genau diese Anzeige im Shop habe ich vor Liveschaltung geprüft und mich drauf verlassen, dass alles richtig läuft.

 

Jetzt lasse ich noch außen vor, dass in den WMT URLs auftauchen, deren Aufbau es bei SW nicht gibt oder gab (das wird hoffentlich an anderer Stelle gelöst).

Ich habe zu SW gewechselt um SEO-technisch bessere Möglichkeiten zu haben, als zuvor. Im Moment sieht mir das nach einer Fehleinschätzung aus...

Tauchen diese Fehler nur bei mir auf oder hat sie vielleicht bisher noch keiner bemerkt? Ich hab sie auch mehr oder weniger zufällig entdeckt.

LG

 

ExtJS - Hinzufügen/Bearbeiten/Löschen in der Detail View

$
0
0

Hallo liebe Leute,

ich habe mit Hilfe des DevDocs Tutorials für Backend Erweiterung mein Backend schon teils erfolgreich erweitert.
Ich lasse mir dabei Datensätze mit einem Grid Panel anzeigen und in der dazugehörigen Detail View ist ein weiteres Grid Panel welches den Inhalt einer OneToMany Verknüpfung anzeigt. Mir wird alles richtig angezeigt und ich kann die Einträge des Grid Panels in der Main View beliebig editieren. Das Löschen, Speichern und Hinzufügen von Einträgen im Grid Panel der Detail View tut jedoch gar nichts.

Ich hab bis jetzt nur den Inhalt der Tutorials abgearbeitet und da dieses leider nicht ganz fehler- und lückenfrei ist stell ich mir jetzt eben die Frage ob das überhaupt schon funktionieren kann oder ob ich für die Detail View wieder eine Detail View anlegen muss (würd mir sinnvoll erscheinen).

Bin praktisch neu in ExtJS und mir raucht schon der Schädel davon, darum vielen Dank für Hinweise wie ich weiter vorgehen soll.

Martin

Event Listener

$
0
0

Hi Leute,

ich möchte die aus meinem Plugins die fest in der Datenbank eingetragenen Event Listener enfernen und durch Subscribers entfernen.
Daher möchte ich die alten Listener aus der Datenbank löschen. Das ist scheinbar durch eine einfaches SQL Satement nicht möglich.
Es soll in der Update Methode des Plugins gelöscht werden.

Alt, wird entfernt:
public function install() {
  $this->subscribeEvent( 'Shopware_Controllers_Widgets_Emotion_AddElement', 'onEmotionAddElement' );
}

Versuch den Listener in der Update Methode zu löschen:
public function update($oldVersion) {
  if($oldVersion == '0.2.0'){
    $sql = "DELETE FROM `s_core_subscribes` WHERE `subscribe` = ? AND `pluginID` = ?";
    Shopware()->Db()->query($sql, array('Shopware_Controllers_Widgets_Emotion_AddElement', $this->getId()));
  }
}

Das Statement an sich funktioniert aber der Listener wird später wider eingefügt.
Und zwar hier: engine/Shopware/Components/Plugin/Namespace.php :: public function write()

Hat jemand eine Idee wie man nicht mehr benötigten Eventlistner aus der Datenbank entfernen kann?

Danke

 


api put löscht bestehende werte, aber welche und wann?

$
0
0

ich habe erfahren das es eine feature ist das shopware api bei update (put) manchmal nicht definierte werte einfach löscht/nullt. zbs. aktualisieren von nur baseprice, setzt shopware price auf 0...

dann habe ich erfahren das es irgendwelche "merge modus" gibt, was aber leider auch nicht das aktualisieren von nur baseprice erlaubt, sondern legt einen neuen array in prices...

also nehme ich an es gibt keine möglichkeit nur die baseprice in vorhandenen prices über die api zu aktualisieren, oder doch?

daher möchte ich wissen:
- welche werte genau werden überschrieben/gelöscht?
- und bei welchen api knoten genau ist dies der fall?

so das ich als workaround dann die alten daten beim update nochmal mitgeben kann...

Grid sql-filter

$
0
0

hallo zusammen

https://developers.shopware.com/developers-guide/backend-components/listing/

basiernd auf dem tutorial würde ich gern die daten via sql (oder ähnlichem) filtern dh. ich habe z.b. produkte die abhängig von

supplier, freigabe etc. angezeigt werden sollen. ich hab mich jetzt durch eine menge tutorials gewühlt, hab das baskettutorial gefunden,

das funktioniert zwar aber ich brauch in weiterer folge dann noch die batch verarbeitung die ich schon drinnen habe.

meine frage - weiß wer einen weg wie ich in dem tutorial via sql die daten im grid filteren kann?

 

danke lg andreas

Frontend: Zusatzfelder im Checkout

$
0
0

Hallo Zusammen,

ich habe in den Artikel-Details im Frontend ein zusätzliches Feld hinzugefügt. Der Wert des Feldes soll in der Datenbank (s_order_basket_attributes und s_order_attributes) gespeichert. sowie in der Bestätigungsmail wiedergegeben werden. Die entsprechenden Felder in den Tabellen habe ich bereits angelegt.

Per "Shopware_Controllers_Frontend_Checkout::ajaxAddArticleCartAction::after" habe ich den Checket Controller gehookt. Allerdings weiß ich jetzt nicht, wie ich

  • Textfelder abfange
  • Werte in s_order_basket_attributes bekomme
  • Werte bei Bestellabschluss in s_order_attributes bekomme.

Ich habe mich die letzten Tage kreuz und quer durch die Dokumentation gelesen, hänge nun aber seit dem Wochenende an diesem Punkt.

Das Auslesen der Werte für E-Mail Bestätigung und Rechnung/Lieferschein bekomme ich sehr wahrscheinlich hin.

Ich würde mich freuen, wenn jemand ein kleines Beispiel hat, das er mir zur Verfügung stellt.
Ich bin auch für weiterführende Links dankbar. Primär würde ich mich aber, da ich schon so viel Zeit investiert habe, mehr freuen, wenn ich ein Beispiel bekomme.
Dokumentation zu diesem Thema würde ich später lesen (da ich mittlerweile verzweifle).

Vielen Dank im Voraus!

//Kafke

Theme und Plugin Kombinieren

$
0
0

Hallo!

Ich hatte zu dem Thema nix weiteres gefunden! Gibt es die Möglichkeit, wenn ich ein Custom Theme erstelle und ein Custom Plugin diese als ein Plugin zu kombinieren.

Danke

XML-Feed in php-Datei ausgeben?

$
0
0

Hallo Leute!

Wir hatten in unserem alten Shop einen RSS-Feed, der als PHP Datei aufgerufen werden konnte (export.php). Es wäre cool, wenn das auch weiter funktionieren würde, also zusätzlich zu dem Feed, den Shopware ausgibt. Ist es daher möglich, den Inhalt aus dem Feed, den der Shop erzeugt (export.xml) einfach über eine PHP-Datei aufzurufen? Und zwar so, das es auch genauso auschaut wie die export.xml?

Ich habe schon seit gestern Abend ziemlich viel zu dem Thema gegoogled und auch bisher geschafft, dass er mit die Titel aus der export.xml ausliest. Aber das bringt mir nichts.

Ich hoffe, Ihr könnt mir helfen.

Lieben Dank,

Nicole

Suche erweitern Shopseiten

$
0
0
Hallo Zusammen

Gerne möchte ich die Suche erweitern damit auch Shopseiten durchsucht werden. Hat mir jemand einen Tip wo ich ansetzen muss?

Besten Dank!

Grüsse
olivero

Eigenes Einkaufswelten Element - Listing Konfigurationsfeld

$
0
0

Hallo,

ich habe mein eigenes Einkaufswelten Element geschrieben.

Man kann dort im Backend mehrere Bilder auswählen (aktuell 4).

Jedes dieser Bilder wird jedoch über ein Dateiupload gelöst:

$component->createField(array(
            'name' => 'image01',
            'fieldLabel' => 'Bild 1',
            'allowBlank' => true,
            'xtype' => 'mediaselectionfield'
        ));

Jedoch möchte ich keine feste Anzahl an Bildern vorgeben und würde so ein Listing bevorzugen,

wo ich so viele Bilder wie ich möchte anhand einer neuen Zeile (Upload | Bilderunterschrift | aktiv) hinzufügen kann.

Dafür gibt es kein fertiges Feld. Deshalb fehlt mir gerade der Ansatz und die Durchführung für so ein Listing.

Ich würde mich freuen, wenn mir jemand auf die Sprünge helfen könnte.

Danke!

Heiko


SQL > Querybuilder für Suppliermodel

$
0
0

hallo

ich versuche grade folgendes zu bewerkstelligen:

ich hätte gerne alle lieferanten die in den aktiven bestellungen enthalten sind (status bestellung = 0 oder 1)

dazu hab ich folgendes SQL das ganz gut funktioniert

SELECT s.id,
s.name as supplier
 FROM
s_order_details d,
s_articles a,
s_articles_supplier s
where d.articleID = a.ID
AND a.supplierID = s.ID

group by supplier

wenn ich das aber jetzt über den querybuilder mache und vom Suppliermodel ausgehe komme ich spätestens beim artikel nichtmehr weiter ...

wie müsste das genau aussehen wenn ich die supplierattribute benötige aber quasi von der order ausgehen sollte?

irgendwie komm ich da nicht dahinter!

lg andreas

 

Inhalt eines Tickets in Ticket-Benachrichtigung anzeigen

$
0
0

Liebe Community,

ist es möglich in der Benachrichtigungmail über ein neues Ticket den Inhalt des Tickets anzuzeigen?

[ Momentan steht in der Vorlage folgendes: Es liegt ein neues Ticket für Sie bereit. Die TicketID lautet: {sTicketID}]

Liebe Grüße Thomas

 

Artikelnamen in Details um Variantennamen nach Variantenauswahl erweitern?

$
0
0

Hallo Gemeinde,

mit welcher Variablen muss ich

  {* Product name *}
   {block name='frontend_detail_index_name'}
       <h1 class="product--title" itemprop="name">
           {$sArticle.articleName}
      </h1>
   {/block}

in der \frontend\detail\index.tpl erweitern, wenn ich den Artikelnamen um den Variantennamen nach Auswahl (neu laden) erweitern will?

Z.B.

{block name='frontend_detail_configurator_variant_group_option_label_text'}
	{$option.optionname}
{/block}

geht  nicht.

Danke im Voraus.

Grüße
Michael

LookUpTable - Suche & eigenes Model (s_search_index)

$
0
0

Hallo zusammen,

nach viel lesen und testen wende ich mich jetzt doch mal kurz an das Forum, vielleicht hat ja jemand einen Hinweis für mein Problem.

Es soll eine sog. LookUpTable geben.
Das ist einfach eine DB-Tabelle, in der Infos zu Artikeln hinterlegt sind, die bei der Suche berücksichtigt werden, genauer gesagt, weitere Artikel-Nummern unter denen der Artikel bekannt ist.
Also grob so (ManyToOne):
Artikel -> eigenes Attributfeld (customAttr1)
LookUpTable -> id, articleNumber (verknüpft mit customAttr1), supplierArticleNumber

Es kann also mehrere Einträge in der LookUpTable geben, die mit customAttr1 verknüpft sind und über deren Nummer der entsprechende Artikel gefunden werden soll.

Die LookUpTable habe ich als Model angelegt, die s_search_tables habe ich erweitert:
table (lookup_table), referenz_table (s_articles_attributes), foreign_key (customAttr1)

Leider wird in der s_search_index die Referenz nicht wirklich zur Artikel-Tabelle hergestellt.

Muß ich hier evtl. in den SearchIndexer eingreifen, damit die Verknüpfung korrekt hergestellt wird?

Viele Grüße und vielen Dank für jeden Hinweis

Andi

Einblendung abhängig von sPartnerId: Wann wird Cookie gesetzt? & Cache deaktivieren

$
0
0

Hallo,

ich möchte gerne für bestimmte Affiliatepartner eine Art "Powered by" Banner einblenden.

Das ist mir auch gelungen, in dem ich die index.tpl um folgendes ergänzt habe:

{* Include affiliate partner banner (if applicable) *}
    {block name='frontend_custom_affiliate_show_partnerbanner'}
        {include file="frontend/custom/affiliate-show-partnerbanner.tpl"}
    {/block}

Diese custom .tpl beinhaltet:


    {if $smarty.cookies.partner == 'XXXXX'}
    ******* HTML to display *******
    {/if}

 

Soweit so gut - das funktioniert auch - bis auf folgende Herausforderungen:

 

1. Caching

Leider macht mir das Caching einen Strich durch die Rechnung, da die Anzeige dann "willkürlich" erfolgt. (mal wird es angezeigt, mal nicht)

Wie kann ich das Caching für diesen Teil (die custom .tpl) deaktivieren?
Ich hab jetzt erstmal HTTP Caching komplett deaktiviert - da funktioniert es (fast) einwandfrei, denn ...

2. Wann wird das sPartner-Cookie gesetzt?

Beim ersten Aufruf des Shops über den Partnerlink erfolgt die Einblendung noch nicht. Erst beim Refresh bzw. wenn eine weitere Seite aufgerufen wird.

Das legt den Schluss Nahe, dass das sPartner-Cookie erst nach dem ersten Seitenaufbau gesetzt wird.

Kann mir hier jemand Auskunft geben bzw. helfen eine Lösung zu finden.

 

Ich habe jetzt schon eine Weile gegooglet, aber noch nichts passendes oder (für mich) verständliches gefunden .... :-)

Danke für jegliche Hilfe!

 

Viewing all 2871 articles
Browse latest View live