+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Anzahl der angezeigten Verwandten Produkte festlegen

  1. #1
    Neu an Board
    Registriert seit
    25.12.2005
    Beiträge
    23
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Anzahl der angezeigten Verwandten Produkte festlegen

    Hallo,

    an sich bin ich recht vertraut mit Joomla und Virtuemart, nur kann ich gerade nicht finden, ob und wo man die Anzahl der unter einem Produkt angezeigten "Verwandten Produkte" einstellen/steuern kann.

    Wenn eine Einstellung im Backend nicht möglich ist, wo kann ich dann das entsprechende Script ändern.

    Hintergrund: Wir haben "Verwandte Produkte" in "Zubehör" umbenannt und es gibt zu einem Produkt mehr als die vier angezeigen Zubehör-Komponenten.

    Vielen Dank für Eure Hilfe
    Stephan

  2. #2
    Neu an Board
    Registriert seit
    17.09.2006
    Beiträge
    88
    Bedankte sich
    2
    Erhielt 17 Danksagungen
    in 16 Beiträgen

    Standard

    hallo,

    in der Datei /administrator/components/com_virtuemart/html/shop.product_details.php kann man bei ca. Zeile 90+ eine SQL-Abfrage finden. Diese läßt sich zum Beispiel durch "LIMIT 0,3" am Ende ergänzen. Dies führt bei der Abfrage dann zu maximal 3 Ergebnissen.

    gruss

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    25.12.2005
    Beiträge
    23
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Danke!

    Vielen Dank für die schnelle Antwort!!!

    nun zeigt er alle produkte an! allerdings alle nebeneinander. dies sprengt mein template.
    was kann ich tun?

    danke schon einmal im voraus...
    stephan

  5. #4
    Neu an Board
    Registriert seit
    17.09.2006
    Beiträge
    88
    Bedankte sich
    2
    Erhielt 17 Danksagungen
    in 16 Beiträgen

    Standard

    Code:
    // Let's have a look wether the product has related products.
      $q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
      $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
      $q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4";
      $db->query( $q );
    ändern in
    Code:
    // Let's have a look wether the product has related products.
      $q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
      $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
      $q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 3";
      $db->query( $q );
    macht aus maximal 4 verwandten Produkten drei. LIMIT 0, 2 würde für 2 verwandte Produkte Anwendung finden.

    gruss

  6. #5
    Neu an Board
    Registriert seit
    25.12.2005
    Beiträge
    23
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard sorry, da haben wir uns falsch verstanden.

    das limit habe ich gesetzt. ich muss mehr als 4 produkte anzeigen. also limit erhöhen.
    nun soll die abfrage aber in mehreren zeilen von je 4 einträgen angezeigt werden.
    da müsste ich warscheinlich die sql-ausgabe modifizieren. oder?
    muss mich mal wieder ein wenig in die syntax einarbeiten...

    aber vielleicht is ja jemand fit und kann mir schneller helfen.

    werde mich aber trotz dessen malwieder ein wenig damit beschäftigen.

    danke stephan

  7. #6
    Neu an Board
    Registriert seit
    11.02.2006
    Beiträge
    59
    Bedankte sich
    7
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    hat hierzu schon jemand ein fertiges script zum erhöhen der verwandeten produkte in mehreren zeilen?

    also ich habe nun schon bissel rumgespielt und folgendes gemacht:
    in shop.product_details.php ab zeile 91:
    PHP-Code:
      $related_product_html "";
      if( 
    $db->num_rows() > ) {

        
    $related_product_html .= "<hr/>\n";
        
    $related_product_html .= "<h3>".$VM_LANG->_PHPSHOP_RELATED_PRODUCTS_HEADING.":</h3>\n";
        while( 
    $db->next_record() ) {
          
    $related_product_html .= $ps_product->product_snapshot$db->f('product_sku') )."\n";
        }
      }
      elseif( 
    $db->num_rows() > ) {
        
    $related_product_html .= "<hr/>\n";
        
    $related_product_html .= "<h3>".$VM_LANG->_PHPSHOP_RELATED_PRODUCTS_HEADING.":</h3>\n";
        
    $related_product_html .= "<table width=\"100%\" align=\"center\"><tr>\n";
        while( 
    $db->next_record() ) {
          
    $related_product_html .= "<td valign=\"top\">".$ps_product->product_snapshot$db->f('product_sku') )."</td>\n";
        }
        
    $related_product_html .= "</tr></table>\n";
      } 
    darüber habe ich das limit auf 8 gestellt.
    bewirkt also nun, dass er ab 4 verwandte produkte die erste anzeige verwendet. das blöde dabei ist, dass er es untereinander alles anzeigt. weiß jemand, wie ich das wieder in tabellen packen kann und somit 4 nebeneinander und darunter wieder 4 und so weiter...
    thx schonmal
    Geändert von cybergurk (09.02.2007 um 13:21 Uhr) Grund: editierenfunktion nutzen bitte, danke

  8. #7
    Neu an Board
    Registriert seit
    25.12.2005
    Beiträge
    23
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard guter ansatz

    an sich ist der gedanke recht gut. if-else sollte sagen wenn mehr als vier resultate, waehle die und die anzeige. da ich momentan nicht zu hause bion kann ich mich nicht gross damit bneschaeftigen. ab maerz werde ich mich dem mal annehmen und es dann heir posten.

    mfg stephan

  9. #8
    Verbringt hier viel Zeit Avatar von dot°NETt
    Registriert seit
    07.11.2004
    Beiträge
    570
    Bedankte sich
    3
    Erhielt 216 Danksagungen
    in 187 Beiträgen

    Standard

    Sorry - ich denke, solch' Coderei sollte nicht unbedingt Schule machen

    Mein Vorschlag dürfte recht universell verwendbar sein:
    PHP-Code:
    // Let's have a look wether the product has related products.
    $lmt 8;
    $items_per_row 4;
    $q "SELECT product_sku, related_products FROM #__{vm}_product, #__{vm}_product_relations";
    $q .= "\n WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y'";
    $q .= "\n AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, $lmt";
    $db->query$q );
    /* (...)
    */
      
    $related_product_html "";
    if( 
    $db->num_rows() > ) {
        
    $related_product_html .= "<hr />\n";
        
    $related_product_html .= "<h3>".$VM_LANG->_PHPSHOP_RELATED_PRODUCTS_HEADING.":</h3>\n";
        
    $related_product_html .= "<table width=\"100%\" style=\"text-align:center\" border=\"0\">\n<tr>\n";
        
    $i=0;
        while( 
    $db->next_record() ) {
            
    $related_product_html .= "<td valign=\"top\" style=\"text-align:center\">".$ps_product->product_snapshot$db->f('product_sku') )."</td>\n";
            
    $i++;
            if(
    $i%$items_per_row==0)
                
    $related_product_html .= "</tr>\n<tr><td colspan=\"".$items_per_row."\">&nbsp;</td></tr>\n<tr>\n";
        }
        if(
    $db->num_rows()%$items_per_row!=&& $db->num_rows()==$i)
            
    $related_product_html .= "<td colspan=\"".($items_per_row-($i%$items_per_row))."\">&nbsp;</td>\n";
        
    $related_product_html .= "</tr>\n</table>\n";

    Festgelegt werden müssen hierbei lediglich 2 Variablen:
    $lmt --> das Limit
    $items_per_row --> Anzahl der je Reihe anzuzeigenden Produkte.

    mfG
    dot°NETt

  10. Erhielt Danksagungen von:


  11. #9
    Neu an Board
    Registriert seit
    25.12.2005
    Beiträge
    23
    Bedankte sich
    4
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Daumen hoch vielen dank

    super, vielen dank für den code. sorry, wenn mein posting so wild geschrieben war, aber ich muss mich hier mit arabischen tastaturen rumschlagen.

    noch einmal dank...
    ich denke, das wäre cool, wenn man das in die nächste version implementieren würde!

    mfg stephan

  12. #10
    Neu an Board
    Registriert seit
    11.02.2006
    Beiträge
    59
    Bedankte sich
    7
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    jau, super geil! vielen dank!!

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Ähnliche Themen

  1. VirtueMart - Wie kann ich die Anzahl der anzeigen Produkte je Seite festlegen?
    Von michak im Forum Gelöste Themen - Joomla E-Commerce Lösungen
    Antworten: 7
    Letzter Beitrag: 02.08.2010, 03:22
  2. VirueMart: Anzahl der angebotenen Produkte
    Von Componetti im Forum Joomla E-Commerce Lösungen
    Antworten: 1
    Letzter Beitrag: 23.08.2006, 08:15
  3. voreingestellte Anzahl der angezeigten Artikel
    Von Urmel im Forum Allgemeine Fragen zu Mambo
    Antworten: 0
    Letzter Beitrag: 12.07.2005, 16:01

Lesezeichen

Berechtigungen

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