SKU in Produkt und Kategorieansicht

  • Hallo liebe Gemeinde,


    nachdem ich unzählige Anleitung probiert hatte die in Version 2 von Virtuemart noch funktioniert hatten
    komme ich leider in der Version kein Stück voran.


    Egal an welcher Stelle ich versuche den Code einzufügen und die Artikelnummern anzeigen zu lassen
    passiert leider nichts.


    Hat sich da in der neuen Version etwas geändert?


    zusätzliche Information:
    Joomla! 2.5.28
    PHP Version 5.4.38
    VirtueMart 3.0.6.2
    Template Vmbeez5


    Links zur Seite: hier klicken

  • Hallo c4er,


    ja richtig, von VM2 zu VM3 hat sich einiges geändert. Genaueres dazu erfährst du auf der Virtuemart.net.
    Deine Artikelposition (SKU) wird in VM3 nicht mehr so wie in VM2 funktionieren. Gleiches gilt für viele Tamplateoverrides.


    Gruß Faro

  • Hallo Faro,


    Danke erst mal für die Information, heißt es jetzt man hat keine Möglichkeit mehr diese anzeigen zu lassen?
    Falls doch jemand noch eine Idee hat würde es mich sehr freuen.


    Liebe Grüße Mario

  • Tja,


    ich weis gar nicht genau, was Du anzeigen möchtest. Wenn Du natürlich Software von Drittanbietern nutzt, musst Du dich vor einem Upgrade davon überzeugen, ob diese auch für VM3 kompatibel sind.


    Gruß Faro

  • joomla 3.4.1,
    VM 3.0.9
    Template vivid von http://virtuemarttemplates.net im Einsatz
    Also, ich habe das quick and dirty so gelöst:
    Ich bin in folgende Datei meines Templates gegangen:
    /html/com_virtuemart/productdetails/default.php
    und habe dort unterhalb von dem nachfolgendem Code

    PHP
    1. <?php // Product Title ?>
    2. <h1><?php echo $this->product->product_name ?> </h1>


    dann diese Zeile zusätzlich eingetragen

    PHP
    1. Artikelnummer: <?php echo $this->product->product_sku; ?><br>


    Leider weiß ich nicht, wie man das mit dem Wort Artikelnummer richtig hinbekommt. Also steht es jetzt einfach so auf deutsch drin und wechselt nicht mit der Sprachauswahl, die aber auch nicht habe und es deshalb für mich nicht relevant ist. Aber richtig ist das so nicht.
    Das war die Anzeige der Artikelnummer auf der Produktseite.


    Dann istd a noch die Anzeige bei der Prdoduktübersicht.
    Da bin ich dann in die Datei
    /html/com_virtuemart/category/default.php reingegangen.
    Und jetzt wird es ganz wild und treibt wahrscheinlich den richtigen Programmierern hier die Zornesröte ins gesicht.


    Also ich habe unter die Zeile

    PHP
    1. <h2 class="h-pr-title"><?php echo JHTML::link ($product->link, $product->product_name); ?></h2>


    folgendes eingegeben:

    PHP
    1. Artikelnummer: <?php echo shopFunctionsF::limitStringByWord ($product->product_sku, 40, '...') ?>


    Ich weiss...
    Aber ich bin froh, dass ich es überhaupt hinbekommen habe. Alle Beschreibungen, die ich im Internet gefunden habe, funktionierten bei mir nicht.
    Vielleicht hilft es ja dem einen zum schnellen Erfolg zu kommen.
    Und jetzt könnt ihr gerne auf mich einschlagen. Oder ihr sagt mir, wie es richtig geht.
    Danke.

  • PHP
    1. <?php // Product Title ?>
    2. <h1><?php echo $this->product->product_name ?> </h1>


    dann diese Zeile zusätzlich eingetragen

    PHP
    1. Artikelnummer: <?php echo $this->product->product_sku; ?><br>


    Sieht doch super aus.
    Du könntest einen eigenen Schlüssel für das Artikelnummer: anlegen, einfach in Joomla - Erweiterungen - Sprachen - Override einen Sprachoverride für COM_VIRTUEMART_SKU_BONNSPORT erzeugen.
    Oder Du suchst in den Sprachdateien, die ungefähr so (de-DE.com_virtuemart.ini) aussehen, ob es schon einen Schlüssel gibt.
    In diesem Fall gibt es einige "Artikelnummer", aber nur ohne Doppelpunkt und ohne Leerzeichen dahinter. Gut wäre dann. COM_VIRTUEMART_SKU_BONNSPORT="Artikelnummer: " mit Leerzeichen.
    Den Schlüssel rufst Du mit vmText::_('SCHLUESSEL') auf.


    PHP
    1. <span class="vm-sku-bonnsport"><?php echo vmText::_('COM_VIRTUEMART_SKU_BONNSPORT') . $this->product->product_sku; ?></span>


    Um das besser mit CSS anfassen zu können: class="irgendwas". Wenn Du es nur für Deine Zwecke benötigst, kannst Du ein BR dahinter stellen.
    Um die Gestaltung offen zu halten, verwende ich meistens ein span, das kann man auf display: inline; oder inline-block oder block setzen, wie man es gerade braucht.



    Also ich habe unter die Zeile

    PHP
    1. <h2 class="h-pr-title"><?php echo JHTML::link ($product->link, $product->product_name); ?></h2>


    folgendes eingegeben:

    PHP
    1. Artikelnummer: <?php echo shopFunctionsF::limitStringByWord ($product->product_sku, 40, '...') ?>


    Die Funktion limitStringByWord verkürzt die Artikelnummer auf 40 Zeichen, das ist sicher nicht undingt nötig, tut aber nicht weh, könnte dann sicher auch

    PHP
    1. <?php echo $product->product_sku; ?>


    ausreichen.


    Am Ende der Zeile immer auf das Semikolon ; achten, sonst könnte es mal weiß auf dem Bildschirm werden. ;-)


    Well done. Gibbet's nichts zu meckern, solche Leute braucht VM. ;-)

  • Auch wenn ich jetzt er sehe das es hierzu doch noch eine Antwort gab möchte ich mich als 1. erst mal bei euch bedanken auch mit der neuen Version scheint es ein Problem in der Kategorie Ansicht zu geben, da ich dort die angegebenen Zeilen nicht finden kann.


    Könnte mir jemand verraten wo ich die richtige Datei zur Bearbeitung finde? Oder hat sich allgemein etwas im Code geändert?


    Danke schon mal im Voraus


    Liebe Grüße Mario

  • Servus Mario,


    das ist kein Problem mit der aktuellen Version, es ist in der aktuellen Version nicht vorhanden.
    Den Code oben für die SKU kannst Du an beliebiger Stelle in der default.php der category-Ansicht einfügen, wie oben beschrieben.


    Grüße
    Stefan

  • Hallo Stefan,


    also bei dem Produkten hat es ja wie gesagt wunderbar funktioniert aber wenn ich den Code bei der Kategorieansicht
    einfügen... der Code sieht wie folgt aus und müsste ja eigentlich funktionieren:


    PHP
    1. <div><?php echo vmText::_('COM_VIRTUEMART_SKU_INSORS') . $this->product->product_sku; ?></div>


    Aber egal wo ich ihn einfüge es ist trotzdem nichts zu sehen auf der Seite...


    Du kannst auch gerne mal selber schauen unter folgendem Link: hier klicken


    Liebe Grüße Mario

  • eigentlich müsste der Wert mit this sein wenn ich die Datei anschaue, ich hänge sie auch einfach mal an aber wie gesagt es erfolgt leider keine Reaktion :-(


  • leider war ich jetzt einige Zeit krank gewesenwürde aber gern das Thema noch mal aufgreifen da meine letzte Frage noch nicht beantwortet wurde... könnte mir danach mal jemand unter den Arm greifen?