Shop Hosting
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: Bestellmöglichkeit für Artikel mit Attributen in der product_listing_v1.html

    Heffernan

    • Frisch an Board
    • Beiträge: 76
    Moin liebe Leute,

    ich stehe gerade absolut auf dem Schlauch, wie ich in der Kategorieansicht eine Bestellmöglichkeit für meine Kunden schaffen kann.
    In meinem Shop gibt es zu 90% Produkte mit 3 Varianten.
    Der Kunde soll nun die Möglichkeit bekommen, schon in der Kategorieansicht (product_listing_v1.html) ein Produkt bestellen zu können.
    In der Detailansicht des Artikels nutze ich das Modul "Multibuy für Attribute", welches da auch prächtig funktioniert.
    Ich bekomme es aber ums verrecken nicht in die Kategorieansicht implementiert.

    BITTE BITTE BITTE gebt mir mal nen Schubs in die richtige Richtung, wie man das realisieren kann.
    Bin echt am verzweifeln... :-|



    Linkback: https://www.modified-shop.org/forum/index.php?topic=2483.0
    Werbung / Banner buchen

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Ein Produkt mit Attributen in der Kategorienansicht bestellen - das würde bedeuten in der Kategorienansicht bereits alle relevanten und rechtlich erforderlichen Infos und Auswahlmöglichkeiten unter zu bringen. Wozu bräuchtest du dann die Detailansicht? Und würde für sowas der Platz überhaupt reichen? Die Übersicht mit Infos zu überladen widerspricht eigentlich dem Konzept.

    Mal abgesehen davon, dass ich nicht weiß wie man sowas realisieren sollte, halte ich das für - na ich sags einfach mal so wie ich grade denke - ne schnapsidee.

    Heffernan

    • Frisch an Board
    • Beiträge: 76
    Ganz ehrlich, ich würde es auch lieber weglassen.
    Aber mein Auftraggeber hat es in seinem alten Shop so, und will es auch ohne wenn und aber im neuen Shop so haben.
    Hier übrigens mal zum anschauen der alte Shop, und wie es vom Prinzip her auch im neuen sein soll:
    KLICK

    Was den Platz angeht habe ich da wenig Bedenken. Das passt in mein Konzept schon ganz gut rein.
    Habe vor modified eCommerce Shopsoftware das Ganze mal mit FWPshop probiert. Mit dem hatte ich zwar ganz andere Probleme, aber diese Sache konnte ich damit problemlos umsetzen.
    Wie ich hier mit XTC weiterkomme ist mir aber echt ein Rätsel, und ich hoffe, dass mir jemand dabei helfen kann.
    Wäre auch bereit, mich dafür finanziell erkenntlich zu zeigen.
    Aber ich muss unbedingt bis nachm Wochenende eine Lösung am Start haben.
    Daher bitte ich gaaaanz dringend um Hilfe!!  :-|

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Also im Vergleich zum alten Shop kannst du doch nur gewinnen! *gg*

    Sorry... ;-)

    Heffernan

    • Frisch an Board
    • Beiträge: 76
    100% ACK @tomcraft :)
    Für den alten Shop zeichne ich mich ja auch nicht verantwortlich.
    Hat irgendein Typ ohne Ahnung mit dem GS Shopbuilder gemacht.

    Eben drum bin ich so verwundert, dass mein Vorhaben mit XTC anscheinend so schwierig umzusetzen ist. Dachte das ist ein Klacks.. :(

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Meiner Meinung nach braucht dein Kunde (Nach)Hilfe. Die Seite ist hoch abmahngefährdet und das was er da zur Zeit anbietet ist meilenweit entfernt von einem ordnungsgemäßen Online-Shop.

    Keine Versandkosten, keine Mehrwertsteuer, Rückgaberegelung - Auweia, AGB zumindest fragwürdig, die Liste würde fast endlos werden. Du solltest dir überlegen, ob du wirklich in der Lage bist, deinem Kunden was rechtssicheres zu verkaufen, oder ob da nicht besser mal ein Anwalt mit Spezialgebiet Online-Shops drüber schauen sollte. Grafik alleine wird das nicht retten.

    nom

    • Frisch an Board
    • Beiträge: 57
    @Heffernan
    Ist eigentlich nicht so schwer...
    Erstellst eine neue Datei, die alle Attribute zum jeweiligen Artikel abfragt und bindest sie in die Schleife "product_listing.php". Dann noch zusätzlich Form Tags und ein Button einfügen.

    Heffernan

    • Frisch an Board
    • Beiträge: 76
    @nom:

    Wieso eine neue Datei erstellen?
    Kann man die entsprechenden Abfragen nicht direkt in die product_listing.php mit einbauen?
    Letztendlich ist es mir egal auf welchem Wege die Abfrage der Attribute zum jeweiligen Artikel abläuft, es muss halt nur funktionieren.

    Problem ist aber, dass ich nur HTML und CSS einigermaßen beherrsche.
    Bei PHP hörts bei mir definitiv auf. Bin nicht in der Lage eine solche Abfrage selber zu bauen.
    Jedenfalls nicht ohne einige entscheidende Denkanstöße.
    Kann ich mich da irgendwie an der product_info.php orientieren?
    Dort werden die entsprechenden Attribute des Artikels ja abgefragt.
    Ich weiß nur nicht ob und wie ich die Abfragen daraus in die product_listing.php übernehmen kann.
    Bitte um ein paar genauere Infos...

    Greetz, Hef

    Heffernan

    • Frisch an Board
    • Beiträge: 76
    Puuuh, ich bin echt am verzweifeln Leute.
    Habe mir die product_info.php nun genau angesehen und versucht, die entsprechenden Passagen in die product_listing.php zu portieren.
    Bin aber kläglich gescheitert. :(
    Bei dem ganzen PHP Code fühl ich mich, als ob ich die kodierte Matrix betrachten muss. *g*
    BITTE BITTE gebt mir mal anhand eines Beispiels nen Schubs in die richtige Richtung, damit ich das doch noch umsetzen kann.

    Wenn ich richtig liege, ist folgendes der Code, der die Merkmale eines Artikels abruft:

    Code: PHP  [Auswählen]
            xtc_db_query("update ".TABLE_PRODUCTS_DESCRIPTION." set products_viewed = products_viewed+1 where products_id = '".$product->data['products_id']."' and language_id = '".$_SESSION['languages_id']."'");

                    $products_price = $xtPrice->xtcGetPrice($product->data['products_id'], $format = true, 1, $product->data['products_tax_class_id'], $product->data['products_price'], 1);
                    // <neu> multibuy funktion 06-06-01 SCL
            $info_smarty->assign('multibuy', $_SESSION['customers_status']['customers_status_multibuy_attributes'] );
            // </neu>
                    // check if customer is allowed to add to cart
                    if ($_SESSION['customers_status']['customers_status_show_price'] != '0') {
                            // fsk18
                            if ($_SESSION['customers_status']['customers_fsk18'] == '1') {
                                    if ($product->data['products_fsk18'] == '0') {
                                // <neu> multibuy funktion 06-06-01 SCL
                                            // $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id']));
                        // $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART));
                                            $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="1"'));
                        $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART, ADD_CART_ENABLED == 'true' ? 'onclick="return addCart(this.form);"' : '').' '.xtc_draw_hidden_field('products_id', $product->data['products_id']));
                        // </neu>
                                    }
                            } else {
                  // <neu> multibuy funktion 06-06-01 SCL
                              // $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id']));
                  // $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART));
                              $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="1"'));
    $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART, ADD_CART_ENABLED == 'true' ? 'onclick="return addCart(this.form);"' : '').' '.xtc_draw_hidden_field('products_id', $product->data['products_id']));
                  // </neu>
                            }
                    }

                    if ($product->data['products_fsk18'] == '1') {
                            $info_smarty->assign('PRODUCTS_FSK18', 'true');
                    }
                    if (ACTIVATE_SHIPPING_STATUS == 'true') {
                            $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
                            $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
                    }
                    $info_smarty->assign('FORM_ACTION', xtc_draw_form('cart_quantity', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_get_all_get_params(array ('action')).'action=add_product')));
                    $info_smarty->assign('FORM_END', '</form>');
                    $info_smarty->assign('PRODUCTS_PRICE', $products_price['formated']);
                    if ($product->data['products_vpe_status'] == 1 && $product->data['products_vpe_value'] != 0.0 && $products_price['plain']> 0)
                            $info_smarty->assign('PRODUCTS_VPE', $xtPrice->xtcFormat($products_price['plain'] * (1 / $product->data['products_vpe_value']), true).TXT_PER.xtc_get_vpe_name($product->data['products_vpe']));
                    $info_smarty->assign('PRODUCTS_ID', $product->data['products_id']);
                    $info_smarty->assign('PRODUCTS_NAME', $product->data['products_name']);
                    if ($_SESSION['customers_status']['customers_status_show_price'] != 0) {
                            // price incl tax
                            $tax_rate = $xtPrice->TAX[$product->data['products_tax_class_id']];
                            $tax_info = $main->getTaxInfo($tax_rate);
                            $info_smarty->assign('PRODUCTS_TAX_INFO', $tax_info);
                            $info_smarty->assign('PRODUCTS_SHIPPING_LINK',$main->getShippingLink());
                    }
                    $info_smarty->assign('PRODUCTS_MODEL', $product->data['products_model']);
                    $info_smarty->assign('PRODUCTS_EAN', $product->data['products_ean']);
                    $info_smarty->assign('PRODUCTS_QUANTITY', $product->data['products_quantity']);
                    $info_smarty->assign('PRODUCTS_WEIGHT', $product->data['products_weight']);
                    $info_smarty->assign('PRODUCTS_STATUS', $product->data['products_status']);
                    $info_smarty->assign('PRODUCTS_ORDERED', $product->data['products_ordered']);
                    $info_smarty->assign('PRODUCTS_PRINT', '<img src="templates/'.CURRENT_TEMPLATE.'/buttons/'.$_SESSION['language'].'/print.gif" />data['products_id']).'\', \'popup\', \'toolbar=0, width=640, height=600\')" alt="" />');
                    $info_smarty->assign('PRODUCTS_DESCRIPTION', stripslashes($product->data['products_description']));
                    $image = '';
                    if ($product->data['products_image'] != '')
                            $image = DIR_WS_INFO_IMAGES.$product->data['products_image'];

                    $info_smarty->assign('PRODUCTS_IMAGE', $image);
    Wie zu sehen ist, habe ich das Multibuy für Attribute Modul eingebaut.
    Das macht die Sache natürlich nicht gerade einfacher.

    Dies hier ist der Code aus der product_listing.php, wo meiner Vermutung nach die entsprechend modifizierten Passagen aus der product_info.php rein müssen:

    Code: PHP  [Auswählen]
            $category_query = xtDBquery("select
                                                        cd.categories_description,
                                                        cd.categories_name,
                                                        cd.categories_heading_title,
                                                        c.listing_template,
                                                        c.categories_image from "
    .TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd
                                                        where c.categories_id = '"
    .$current_category_id."'
                                                        and cd.categories_id = '"
    .$current_category_id."'
                                                        "
    .$group_check."
                                                        and cd.language_id = '"
    .$_SESSION['languages_id']."'");

            $category = xtc_db_fetch_array($category_query,true);
            $image = '';
            if ($category['categories_image'] != '')
                    $image = DIR_WS_IMAGES.'categories/'.$category['categories_image'];
            $module_smarty->assign('CATEGORIES_NAME', $category['categories_name']);
            $module_smarty->assign('CATEGORIES_HEADING_TITLE', $category['categories_heading_title']);

            $module_smarty->assign('CATEGORIES_IMAGE', $image);
            $module_smarty->assign('CATEGORIES_DESCRIPTION', $category['categories_description']);

            $rows = 0;
            $listing_query = xtDBquery($listing_split->sql_query);
            while ($listing = xtc_db_fetch_array($listing_query, true)) {
                    $rows ++;
                    $module_content[] =  $product->buildDataArray($listing);
            }
    } else {

            // no product found
            $result = false;
    Ich wäre schon einen enormen Schritt weiter, wenn mir mal jemand anhand eines konrekten Beispiels (z.B. &products_price) erklären könnte, wie man die entsprechende Zeile für die product_listing.php modifizieren muss.
    Alleine steige ich da einfach nicht durch.
    Please Help!!

    Greetz, Hef :)

    web28

    • modified Team
    • Beiträge: 9.404
    Hallo Heffernan,

    bei aller Sympathie, aber wer soll sich diesen Code ansehen und Dir dazu Tipps geben?

    Du hast einen Spezialwunsch, den Du nicht selber lösen kannst, und der auch nicht "mal eben so" realisierbar ist.

    Die Tipps von nom sind genau richtig (er hat so etwas nämlich programmiert)

    Wenn Du die Erweiterung unbedingt benötigst, wirst Du einen Dienstleister bemühen müssen.
    Alles kann ein Forum wir hier nicht leisten. Es wir hier immer Tipps geben wie man Probleme anpacken oder lösen kann, fertige Sonderprogrammierungen wird es hier aber nicht geben (können).

    Gruss Web28

    Heffernan

    • Frisch an Board
    • Beiträge: 76
    @web28:

    Ich will ja auch nicht anmaßend oder fordernd wirken.
    Verlange ja auch keine komplette Lösung für das Problem.
    Aber es wäre nett, wenn man mir ein etwas konkreteres Beispiel aufzeigen kann, wie sowas programmiert wird.
    Ich will ja langfristig meine PHP-Kenntnisse soweit ausbauen, dass ich sowas auch alleine coden kann.

    Irgendwo muss man ja als PHP-n00b mal anfangen, und da ist man halt auf Tips und Hilfe von Profis angewiesen.
    Zur Not muss ich das an einen Dienstleister übergeben. Das ist mir auch klar.
    Vielleicht will nom mir ja ein Angebot unterbreiten.
    Bin für alles offen... ;)

    Greetz, Hef :)

    5 Antworten
    4983 Aufrufe
    08. April 2011, 09:29:26 von Accio
    4 Antworten
    3172 Aufrufe
    21. Dezember 2012, 21:59:26 von Trucker05
    4 Antworten
    4985 Aufrufe
    01. August 2011, 08:30:53 von franky_n
               
    anything