Zurück   xt:Commerce Webshop Shop Support > xt:Commerce Shopsoftware Community Area > Template System

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 25.01.2010, 20:12
Neuer Benutzer
 
Registriert seit: 25.01.2010
Beiträge: 13
Standard Master/Slave Master "products_id" für Backlinks herausfinden

Hallo,

das ist für Alle, die selbst etwas an ihrem Shop basteln möchen.

Soll/Ziel: legt der Kunde ein Slave-Produkt in den Warenkorb und klickt dieses aus dem Warenkorb heraus an führt dies auf die Produktseite des Slave-Produkts. Ziel ist es nun auf der Seite des Slaveprodukts einen Link zum Master zu setzen.

Im Templates "products" steht einem nur das master_model zu Verfügung um nun die products_id des Masters heraus zu finden fügt man in:

Installierte Plugins -> Master / Slave -> Hookpoints -> class.product.php:BuildData_bottom

folgenden Code ein:

PHP-Code:
global $db;

        if (
$this->data['products_master_flag']=='1') {
            
$this->data['allow_add_cart'] = 'false';
        }

        if (
$this->data['products_master_model']!='') {

$custom_master $db->Execute("SELECT products_id FROM ".TABLE_PRODUCTS." WHERE products_model='".$this->data['products_master_model']."' LIMIT 0,1");

$this->data['custom_product_master_id'] = $custom_master->fields[products_id];

        } 
Nun kann man in templates/siau_sass/xtCore/pages/product/product.html
die Variable {$custom_master} benutzen.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 20.02.2010, 20:05
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 15
Standard

Dann sollte man aber auch: {$custom_product_master_id} benutzen, statt {$custom_master}

Ich habe das ganze sinnvollerweise {$products_master_id} genannt.

Nun kann man hier noch ein bisschen weiter tricksen und eine Abfrage in das Template bauen, wodurch die Seite direkt zum Master Artikel springt um die Slaves gar nicht anzeigen zu müssen.

Hat da schon jemand was fertiges?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 20.02.2010, 22:27
Neuer Benutzer
 
Registriert seit: 05.11.2009
Beiträge: 15
Standard

Für alle die es interessiert:

Link zum Masterartikel statt zum Slave:

in obigen Code eine neue Variable definieren und diese mit der Methode _xtLink und der Master ID befüllen lassen.
Im Template dann eine Abfrage ob die neue Var befüllt ist, dann diese ausgeben, anosnten den vorhandenen Link.

Wer mehr wissen will, kann mich ruhig anschreiben.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 20.02.2010, 22:30
Neuer Benutzer
 
Registriert seit: 25.01.2010
Beiträge: 13
Standard

Zitat:
Zitat von o_kiki_o Beitrag anzeigen
Dann sollte man aber auch: {$custom_product_master_id} benutzen, statt {$custom_master}

Ich habe das ganze sinnvollerweise {$products_master_id} genannt.

Nun kann man hier noch ein bisschen weiter tricksen und eine Abfrage in das Template bauen, wodurch die Seite direkt zum Master Artikel springt um die Slaves gar nicht anzeigen zu müssen.

Hat da schon jemand was fertiges?
Naja man sollte, "eigene" Variablen immer speziell kennzeichnen sonst hast du immer das potentielle Problem das eventuell xt-Programmierer auch eine solche Variable ein arbeiten und dann weißt du nicht mehr woher etwaige seiteneffekte kommen.

Daher ist das schon sinnig diese durch "custom" oder was anderes zu kennzeichnen.

Zu deiner Frage: Na klar habe ich da was fertiges, das ist ja der Sinn dieser Variable solche Verhaltensweisen steuern zu können.

Nur das Wäre, wenn man schon nach Sinn und Unsinn fragt ja nun zu einfach das direkt zu posten.

Aber als Tip:
Mit Smarty Funktionen einfach abfragen, ob das Produkt eine (in deinem Fall) "{$products_master_id}" hat. Denn das haben nur Slaves ;-).

//edit hast es dir ja parallel schon selbst beantwortet.

//edit2 man brauch dazu keine neue Variable, diese da "oben" ist ja schon die neue Variable

Geändert von Diakon (20.02.2010 um 22:32 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 01.04.2010, 08:14
Neuer Benutzer
 
Registriert seit: 17.02.2010
Ort: Bremen
Beiträge: 8
Standard Kleine Vereinfachung

Hallo zusammen,

um den Link im WK auf die Masterartikel zu verbiegen könnte man folgenden Trick anwenden:

in class.product.php

PHP-Code:
 if ($this->data['products_master_model']!='') {

   
// ID abfragen
                
$custom_master $db->Execute("SELECT products_id FROM ".TABLE_PRODUCTS." WHERE products_model='".$this->data['products_master_model']."' LIMIT 0,1");

                
$this->data['custom_product_master_id'] = $custom_master->fields[products_id];


   
// Link gleich auf den Master verbiegen
        
$link_array = array('page'=> 'product''type'=>'product''name'=>$this->data['products_name'], 'id'=>$this->data['custom_product_master_id'],'seo_url'=>FALSE);
  }  
        
  
// Ansonsten den normalen Liunk generieren    
        
else {
        
$link_array = array('page'=> 'product''type'=>'product''name'=>$this->data['products_name'], 'id'=>$this->data['products_id'],'seo_url'=>$this->data['url_text']);
        } 
Diese Veränderung würde dann Systemweit nur noch Masterartikel anzeigen.
Allerdings nicht mehr mit SEO-URLs sondern mit ID's, was aber aus dem WK auch unerheblich ist.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 01.04.2010, 11:32
Erfahrener Benutzer
 
Registriert seit: 07.07.2009
Ort: Thüringen
Beiträge: 1.181
Standard

Oh ich seh hier gibt es M/S Spezialisten. Kurze Frage ich ändere gerade das Plugin bestseller_products dahingehend ab, dass mir artikel angezeigt werden die bestand(products_quantity) größer null haben, leider werden mir nur die Masterartikel angezeigt. Weiss jemand, wie ich die lieferbaren Slaves anzeigen lassen kann?

LG
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
backlinks, herausfinden, master, master or slave, productsid

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ioncube veyton und win 2008 server eucom Installation und Konfiguration 4 05.11.2009 15:44
Master / Slave im Shop firefly.com Fragen zur Software 4 08.10.2009 07:01
ein tipp/änderung beim master/slave plugin für nächste update... GoriBoy Fragen zur Software 0 10.06.2009 09:36
Actindo und Master/Slave papaschulz Fragen zur Software 6 15.05.2009 19:26


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.

Copyright © 2014 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand