Managed Server
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: WIKI "Umstellung des Shops auf Buttonlösung" kleine Verbesserung

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    verlinkung ?

    Oder meinst Du nur den text z.b. "3-4 werktage" usw.

    saez

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Bei mir ist der Produktname + Attribut + Lieferzeit verlinkt wenn man das anklickt kann man sich das Produkt ansehen. Ich möchte nur den Produktnamen verlinken. Das kann man auf dem letzten Bild sehen, dass alles grün ist.

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    es ist die Zeile 186
    Code: PHP  [Auswählen]
    '   <td class="main_row" align="left" valign="top"><a target="_blank" href="' . xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($order->products[$i]['id'])) . '"> ' . $order->products[$i]['name'] ;
     

    der a Tag wird auch später nirgendwo geschlossen

    probier mal:
    Code: PHP  [Auswählen]
    <td class="main_row" align="left" valign="top"><a target="_blank" href="' . xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($order->products[$i]['id'])) . '"> ' . $order->products[$i]['name'] .'</a>';

    dann sollte es klappen.

    saez

    • Frisch an Board
    • Beiträge: 50
    • Geschlecht:
    Man ist das peinlich  :oops:. Vielen Dank.

    Buggyboy

    • Fördermitglied
    • Beiträge: 968
    • Geschlecht:
    Moin!

    Ich möchte eigentlich nur 150 Zeichen bei der Kurzbeschreibung angezeigt bekommen.

    Habe das hier geändert:
    Code: PHP  [Auswählen]
    $data_products .= '<tr>
                                                <td class="main" align="left" valign="top" width="7%">&nbsp;</td>
                                                <td class="main" align="left" valign="top"><small>'
    ;
        if (!empty($order->products[$i]['short_description'])) {
                        $data_products .=trim(strip_tags($order->products[$i]['short_description']));
        } else {
                        $data_products .=trim(substr(strip_tags($order->products[$i]['description']),0,150));
                        if (strlen(strip_tags($order->products[$i]['description'])) > 150) $data_products.=' [...]';
        }
        $data_products .='</small></td>
                                                <td class="main" align="right" valign="top">&nbsp;</td>
                                                <td class="main" align="right" valign="top">&nbsp;</td>
                                        </tr>'
    ;
    Allerdings hat das so nicht genützt. Templatecache geleert...

    Muß eigentlich die Short_Description da drinne stehen?
    Würde lieber ein paar andere Felder aus der Produkt_Info anzeigen lassen.

    Autor: Reiner Knizia
    Zustand: Komplett und ungespielt
    Spieleranzahl: 2 bis 5
    Spielzeit: ca. 30 - 45 min
    Alter: ab 8 Jahre
    Art.Nr.: 100-1490
    Verlag/Hersteller

    Würde das dem Gesetzgeber reichen?
    Könnte mir dabei vielleicht jemand behilflich sein?

    Ich habe in der html-Datei noch das hier für mich geändert:
    Code: PHP  [Auswählen]
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td width="50%">{#text_information#}</td>
    </tr>
    <tr>
               <td width="50%">Bitte nehmen Sie unsere <strong>{$AGB_TITLE}</strong> {$AGB_LINK} und das <strong>{$REVOCATION_TITLE}</strong> {$REVOCATION_LINK} zur Kenntnis.</td>
            </tr>
        </table>
    Da es ja zwei Spalten waren, war mir das alles zu gedrückt auf der Seite.
    jetzt steht es alles untereinander.

    Bis peter

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    Also ob die angaben die Du haben willst ausreichen weiss ich nicht.

    Aber:
    Du kannst auch auf den short_description verzichten und nur description anzeigen lassen.
    Es ist auch kein großes Ding dir andere Felder anzeigen zu lassen.

    Wenn Du ganz auf die Kurzbeschreibung verzichten willst und nur den Langtext benutzen willst ändere den Code nach:
    Code: PHP  [Auswählen]
    $data_products .= '<tr>
         <td class="main" align="left" valign="top" width="7%">&nbsp;</td>
         <td class="main" align="left" valign="top"><small>'
    ;
               $data_products .=trim(substr(strip_tags($order->products[$i]['description']),0,150));
               if (strlen(strip_tags($order->products[$i]['description'])) > 150) $data_products.='[...]';
    $data_products .='</small></td>
         <td class="main" align="right" valign="top">&nbsp;</td>
         <td class="main" align="right" valign="top">&nbsp;</td>
    </tr>'
    ;

    in welcher Tabelle bzw feldern liegen den diese Daten ?
    Zitat
    Autor: Reiner Knizia
    Zustand: Komplett und ungespielt
    Spieleranzahl: 2 bis 5
    Spielzeit: ca. 30 - 45 min
    Alter: ab 8 Jahre
    Art.Nr.: 100-1490
    Verlag/Hersteller

    Buggyboy

    • Fördermitglied
    • Beiträge: 968
    • Geschlecht:
    Hi!

    Also die anderen Daten gebe ich bei einem neuen Artikel mit ein.
    Ich habe mir also 5 neue Datenfelder bei der Eingabe gemacht.

    Sie werden dann auch beim Artilkel mit angezeigt.

    new_product.php
    Code: PHP  [Auswählen]
    <!-- products_extrafield beginn -->
          <tr>
            <td><span class="main"><?php echo TEXT_PRODUCTS_AUTOR; ?></span></td>
            <td><span class="main"><?php echo  xtc_draw_input_field('products_autor', $pInfo->products_autor); ?></span></td>
          </tr>
          <tr>
            <td><span class="main"><?php echo TEXT_PRODUCTS_ZUSTAND; ?></span></td>
            <td><span class="main"><?php echo  xtc_draw_input_field('products_zustand', $pInfo->products_zustand); ?></span></td>
          </tr>

          <tr>
            <td><span class="main"><?php echo TEXT_PRODUCTS_SPIELERANZAHL; ?></span></td>
            <td><span class="main"><?php echo  xtc_draw_input_field('products_spieleranzahl', $pInfo->products_spieleranzahl); ?></span></td>
          </tr>

          <tr>
            <td><span class="main"><?php echo TEXT_PRODUCTS_SPIELZEIT; ?></span></td>
            <td><span class="main"><?php echo  xtc_draw_input_field('products_spielzeit', $pInfo->products_spielzeit); ?></span></td>
          </tr>

          <tr>
            <td><span class="main"><?php echo TEXT_PRODUCTS_SPIELALTER; ?></span></td>
            <td><span class="main"><?php echo  xtc_draw_input_field('products_spielalter', $pInfo->products_spielalter); ?></span></td>
          </tr>
          <!-- products_extrafield end -->

    Das mit der Description hat schon mal so jetzt gefunzt... ;-}

    Nach 150 Zeichen kommt [...]
    Ist das richtig, das das nicht verlinkt ist zum weiterlesen?

    Bis peter

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    Also der Link würde wieder Zur Produktbeschreibung führen das könnte man machen.

    Also liegen deine Zusatzinfos in den Feldern:
    products_autor
    products_zustand
    products_spieleranzahl
    usw,

    Wenn Du die angezeigt haben möchtest:
    sollte z.b.
    Code: PHP  [Auswählen]
     $order->products[$i]['products_autor']

    um deine Daten auszugeben Funktionieren.

    Also im Ganzen dann z.b (macht jetzt nur den Author dazu).
    Code: PHP  [Auswählen]
    $data_products .= '<tr>
            <td class="main" align="left" valign="top" width="7%">&nbsp;</td>
            <td class="main" align="left" valign="top"><small>'
    ;
                   $data_products .=trim(substr(strip_tags($order->products[$i]['description']),0,150));
                   if (strlen(strip_tags($order->products[$i]['description'])) > 150) $data_products.='[...]';
        $data_products .='</small><br>Author :'.$order->products[$i]['products_autor'].'</td>
            <td class="main" align="right" valign="top">&nbsp;</td>
            <td class="main" align="right" valign="top">&nbsp;</td>
        </tr>'
    ;

    Buggyboy

    • Fördermitglied
    • Beiträge: 968
    • Geschlecht:
    Hallo mr.mc.mauser!

    Leider wird nichts aus der Datenbank geholt...
    Das Wort Autor wird nur angezeigt...

    Muß jede Zeile mit einem Semikolon abgeschlossen werden?

    Code: PHP  [Auswählen]
    ...
    $data_products .='<br>Autor :'.$order->products[$i]['products_autor'].';
    $data_products .='
    <br>Zustand :'.$order->products[$i]['products_zustand'].';
    $data_products .='<br>Spieleranzahl :'.$order->products[$i]['products_anzahl'].';
    $data_products .='
    <br>Alter :'.$order->products[$i]['products_alter'].'</small></td>
     

    Bis peter

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    sorry mein fehler,

    du musst in der order.php noch bisserl was ändern.
    ca. zeile 218
    Code: PHP  [Auswählen]
          $orders_products_query = xtc_db_query("SELECT *
                                                 FROM "
    . TABLE_ORDERS_PRODUCTS . "
                                                 WHERE orders_id = '"
    . $order_id . "'");
          while ($orders_products = xtc_db_fetch_array($orders_products_query)) {
            $this->products[$index] = array('qty' => $orders_products['products_quantity'],
                                             'id' => $orders_products['products_id'],
                                             'name' => $orders_products['products_name'],
                                             'model' => $orders_products['products_model'],
                                             'tax' => $orders_products['products_tax'],
                                             'price'=> $orders_products['products_price'],
                                             'shipping_time'=> $orders_products['products_shipping_time'],
                                             'final_price' => $orders_products['final_price']);
    wenn dein Datenfeld product_author heist müsstest du das einfügen:
     
    Code: PHP  [Auswählen]
     'products_autor' => $orders_products['products_autor']),
    Das ganze funktioniert nur wenn diese Felder in der Tabelle orders_products liegen.
    Wenn ich wüsste wo Sich deine Felder befinden könnte ich dir den Code richtig anpassen.
    Da ich aber nichts von der Struktur weiss kann ich nur Blind herumwühlen.

    Code: PHP  [Auswählen]
    Muß jede Zeile mit einem Semikolon abgeschlossen werden?
    Nein man muss nicht jede Zeile mit einen ; abschließen es geht bei auch so:
    Code: PHP  [Auswählen]
    $data_products .='<br>
    Autor :'
    .$order->products[$i]['products_autor'].'<br>
    Zustand :'
    .$order->products[$i]['products_zustand'].'<br>
    Spieleranzahl :'
    .$order->products[$i]['products_anzahl'].'<br>
    Alter :'
    .$order->products[$i]['products_alter'].'</small></td>';

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    Oh jee da hat ich was falsches gepostet....

    Der eintrag
    'products_autor' => $orders_products['products_autor']),

    muss in die order.php ca. zeile 490
     
    Code: PHP  [Auswählen]
           $this->products[$index] = array('qty' => $products[$i]['quantity'],
                                            'name' => $products[$i]['name'],
                                            'model' => $products[$i]['model'],
                                            'description' => $products[$i]['description'],
                                            'short_description' => $products[$i]['short_description'],
                                            'tax_class_id'=> $products[$i]['tax_class_id'],
                                            'tax' => xtc_get_tax_rate($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']),
                                            'tax_description' => xtc_get_tax_description($products[$i]['tax_class_id'], $tax_address['entry_country_id'], $tax_address['entry_zone_id']),
                                            'price' =>  $products_price ,
                                            'price_formated' => $xtPrice->xtcFormat($products_price,true),  // web28 - 2010-05-06 - PayPal API Modul / Paypal Express Modul
                                            'final_price' => $products_price*$products[$i]['quantity'],
                                            'final_price_formated' => $xtPrice->xtcFormat($products_price*$products[$i]['quantity'],true), // web28 - 2010-05-06 - PayPal API Modul / Paypal Express Modul
                                            'shipping_time'=>$products[$i]['shipping_time'],
                                            'weight' => $products[$i]['weight'],
    // von hier
    'products_autor' => $orders_products[$i]['products_autor']),
    // bis hier
                                            'id' => $products[$i]['id']);

            if ($products[$i]['attributes']) {

    rockmartin

    • Mitglied
    • Beiträge: 162
    • Geschlecht:
    Ich macht hier gerade genau das was ich suche! Ich würde auch lieber ein extra Feld bei jedem Artikel im Backend haben wo ich die Merkmale die auf der checkout_confirmation.php angezeigt werden eingeben kann.

    Könntet ihr vielleicht eine Anleitung posten von der Erstellung der neuen Felder bis hin zur Ausgabe in der checkout_confirmation?

    Buggyboy

    • Fördermitglied
    • Beiträge: 968
    • Geschlecht:
    Hallo!

    Ich habe das mit dem Extra-feld erst mal wieder rausgenommen.
    Bekomme es so nicht hin.

    Leider zerscheißt es mir das Layout, wenn ich einen zweiten Artikel im Warenkorb habe.
    Ich habe im Bild mal mit Border fotografiert, damit man sehen kann was ich meine.
    Hab schon einiges ausprobiert, aber komme leider zu keinem befriegigen Ergebniss:

    Code: PHP  [Auswählen]
    $data_products = '<table width="100%" border="1" cellspacing="0" cellpadding="0">';
        $data_products.= '<tr>' . "\n" . '  <td class="main_header" align="left" valign="top"><b>' . HEADER_QTY . '</b></td>'
         
                    . "\n" . '  <td class="main_header" align="left" valign="top" colspan="2"><b>' . HEADER_ARTICLE . '</b></td>'
                    . "\n" . '  <td class="main_header" align="right" valign="top"><b>' . HEADER_SINGLE . '</b></td>'
                    . "\n" . '  <td class="main_header" align="right" valign="top"><b>' . HEADER_TOTAL . '</b></td>
                </tr>'
    . "\n";
         
        for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
                $data_products .= '<tr>' . "\n" . '  <td class="main_row" align="left" valign="top">' . $order->products[$i]['qty'] . ' x ' . '</td>'
                . "\n" . '<td class="main_row" align="left" valign="top" width="90" rowspan="4"><img src="'.DIR_WS_THUMBNAIL_IMAGES.xtc_get_products_image($order->products[$i]['id']).'" /></td>'
                                                                 . "\n" . '  <td class="main_row" align="left" valign="top">' . $order->products[$i]['name'] . '</td>'
                       . "\n"  . '  <td class="main_row" align="right" valign="top"><nobr>' . $xtPrice->xtcFormat($order->products[$i]['price'], true) . '</nobr></td>'
                       . "\n"  . '  <td class="main_row" align="right" valign="top"><nobr>' . $xtPrice->xtcFormat($order->products[$i]['final_price'], true) . '</nobr></td>
                                                   </tr>'
    . "\n";
         
        /* $data_products .= '<tr>
                      <td class="main" align="left" valign="top"  width="10%">&nbsp;</td>
                      <td class="main" align="left" valign="top"><small>' . (!empty($order->products[$i]['short_description'])?trim(strip_tags($order->products[$i]['short_description'])):trim(substr(strip_tags($order->products[$i]['description']),0,300))). ' [...]' . '</small></td>
                      <td class="main" align="right" valign="top">&nbsp;</td>
                      <td class="main" align="right" valign="top">&nbsp;</td>
                      </tr>';
        */

        $data_products .= '<tr>
               <td class="main" align="left" valign="top">&nbsp;</td>
               <td class="main" align="left" valign="top"><small>'
    ;
                       $data_products .=trim(substr(strip_tags($order->products[$i]['description']),0,150));
                       if (strlen(strip_tags($order->products[$i]['description'])) > 150) $data_products.='[...]';
            $data_products .='</small></td>
               <td class="main" align="right" valign="top">&nbsp;</td>
               <td class="main" align="right" valign="top">&nbsp;</td>
           </tr>'
    ;

    mr.mc.mauser

    • Fördermitglied
    • Beiträge: 343
    • Geschlecht:
    Kann ich das mal irgendwo live sehen....

    Dann kann ich besser suchen...
    Oder Du machst es wie ich.
    Man nimmt die Live version (also die Seite mit dem Fehler) schaut sich das ganze im Quelltext an.
    wenn man z.b. Firebug installiert hat kann man direkt daran arbeiten.
    Sieht wo es hängt und passt daraufhin die confirmation_Checkout.php an.

    Zu den Extra feldern...
    Nach welcher Anleitung hast Du die Extra felder eingebaut.
    Ich könnte das dann mal hier nachspielen und dann eine Richtige anleitung basteln mit der Du es auch später im Checkout siehst.

    Gruß
    Robert

    Buggyboy

    • Fördermitglied
    • Beiträge: 968
    • Geschlecht:
    Hallo Robert!

    Du kannst das in meinem Shop sehen..
    Link steht ja unter meinem Profilbild.

    Und hier:
    https://www.modified-shop.org/wiki/Tutorial:_Zus%C3%A4tzliche_Datenfelder_Artikel

    Danach hab ich meine Datenfelder eingebaut.
    Hier gab es schon mal ein ähnliches Thema:
    http://www.modified-shop.org/forum/index.php?topic=19560.msg182912#msg182912

    Bis peter...

    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
    3 Antworten
    3209 Aufrufe
    31. Juli 2012, 06:39:14 von jannemann
    2 Antworten
    4391 Aufrufe
    23. Juli 2012, 19:35:04 von saez
    7 Antworten
    3983 Aufrufe
    18. Januar 2013, 10:19:45 von expanse