dreamweaver PHP: <?php class extrafield_categories extends extrafield_categories_parent { public function insert_product($products_data, $dest_category_id, $action = 'insert') { $products_id = parent::insert_product($products_data, $dest_category_id, $action); // BOF products_extrafields $extra_data = array('products_inhalt' => xtc_db_input($products_data['products_inhalt'])); // EOF products_extrafields xtc_db_perform('products', $extra_data, 'update', 'products_id = \''.(int)$products_id.'\''); return $products_id; } function duplicate_product($src_products_id, $dest_categories_id) { $new_products_id = parent::duplicate_product($src_products_id, $dest_categories_id); // BOF products_extrafields $copy_extra_data_query = 'UPDATE `products` p LEFT JOIN `products` psrc ON psrc.products_id = \':src_products_id\' SET `p`.`products_inhalt`= `psrc`.`products_inhalt`, WHERE `p`.`products_id` = \':new_products_id\' '; // EOF products_extrafield $copy_extra_data_query = strtr($copy_extra_data_query, array( ':src_products_id' => (int)$src_products_id, ':new_products_id' => (int)$new_products_id, ) ); xtc_db_query($copy_extra_data_query); return $new_products_id; } }
Wenn ich das richtig sehe, du hast eine leer Zeichen vor "<?php". Diese leer Zeichen muss weg. Die Datei unter DreamWeaver Speicher unter: Unicode-Normalisierungsformular: C (kanonische Dekomposition, gefolgt von kanonischer Komposition). Unicode-Signatur (BOM) einschließen NICHT ABHACKEN.
Danke jetzt hat es geklappt, lag wirklich am Leerzeichen, aber jetzt habe ich folgende Fehler /edit Cash ist geleert
Sprachdefinitionsdatei fehlt. Im Ordner "lang/german/user_sections" die PHP-Datei als "product_info.lang.inc.php" speichern. PHP: <?php/* -------------------------------------------------------------- product_info.lang.inc.php 2015-01-02 gm Gambio GmbH http://www.gambio.de Copyright (c) 2015 Gambio GmbH Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] --------------------------------------------------------------*/$t_language_text_section_content_array = array( // BOF products_extrafield 'text_products_inhalt' => 'Inhalt:', // EOF products_extrafield 'add_to_cart' => 'In den Warenkorb', 'text_abroad_shipping_info' => 'Ausland abweichend', 'text_bookmarking' => 'Bookmarken', 'text_graduated_qty_1' => 'Erlaubt ist nur eine Bestellmenge in ', 'text_graduated_qty_2' => 'er Schritten!', 'text_min_order' => 'Mindestbestellmenge: ', 'text_model' => 'Art.Nr.:', 'text_pieces' => 'Stück', 'text_price_offer' => 'Woanders günstiger?', 'text_print' => 'Datenblatt drucken', 'text_selled' => 'Bereits verkauft:', 'text_shippingtime' => 'Lieferzeit:', 'text_status' => 'Status:', 'text_stock' => 'Lagerbestand:', 'text_tell_a_friend' => 'Weiterempfehlen', 'text_weight' => 'Versandgewicht je Stück: ', 'text_weight_unit' => 'kg', 'text_window_close' => 'Schliessen'); Die Datei standard.html muss auch angepasst werden und als standard-USERMOD.html gespeichert werden
@Cyrus Folgendes habe ich gemacht, nur unter Artikelbeschreibung steht zwar der inhalt nur nicht "Inhalt:" 1: Die Tabelle „Produkte“ in der Datenbank muss um die Zahl der benötigten Felder erweitert werden, z.B. Sie brauchen 2 Extra-Felder, die jeweils durch maximal 30 Zeichen beschrieben sind. In der PHPMyAdmin Ihrer Webserver oder im Shop Adminbereich unter Toolbox à SQL folgende Anweisung ausführen: Code: ALTER TABLE `products` ADD `products_inhalt`VARCHAR(30) NOT NULL; Schritt 2 für v.2.3.x.x Sprachdateien erweitern: Die Datei "lang/german/original_sections/product/product_info.lang.inc.php" kopieren. In dem Ordner "lang/german/user_sections/" einen Ordner Namens "product" erstellen und die Datei "product_info.lang.inc.php" in diesem Ordner speichern. Nun erweitern Sie diese Datei mit folgendem Code, irgendwo in der Mitte: PHP: // BOF products_extrafield 'text_products_inhalt' => 'Inhalt:', // EOF products_extrafield Schritt 3 für v.2.3.x.x Sprachdateien der Kategorie erweitern: In dem Ordner "lang/german/user_sections/" einen Ordner Namens "admin" erstellen. In diesem Ordner einen Ordner Namens "product" erstellen. Die Datei "lang/german/original_sections/admin/product/categories.lang.inc.php" kopieren und in dem erstellte "product" Ordner speichern. Diese Datei irgendwo in der Mitte folgendermaßen erweitern: PHP: 'TEXT_PRODUCTS_INHALT' => 'Inhalt:', 4: Nun wird die Datei /SHOP-ORDNER/ admin/includes/modules/new_product.php geändert. Am Bestens vor der Änderung speichert man die Datei unter ORIGINAL_new_product.php. Durch diese Änderung werden die Eingabe Felder für unsere Extra-Felder in der Maske Artikelbearbeiten eingefügt. In dieser Datei suchen Sie nach: (Bei mir ist es ca. Zeile 920) HTML: <td><?php echo $coo_text_mgr->get_text('label_availability') ?>:</td> <td> <?php echo xtc_draw_pull_down_menu('google_export_availability_id', $t_google_export_availability_array, $pInfo->google_export_availability_id, 'style="width: 130px"'); ?> <small><?php echo $coo_text_mgr->get_text('label_google_export_only') ?></small> </td> </tr> <?php } ?> </table> </td> </tr> </table> und fügen Sie danach: <!-- products_extrafield beginn --> <table bgcolor="#f3f3f3" style="border:1px solid;border-color:#cccccc;margin-top:10px;" width="100%" border="0"> <tr> <td> <table class="main" border="0" width="100%"> <tr> <td style="font-size:14px;font-weight:bold;">Extra-Felder<br><br></td> </tr> <table class="main" bgcolor="#DEDEDE" border="0" width="100%" align="left"> <tr> <td style="font-size:14px;font-weight:bold;color:#7A7A7A;">Allgemein<br><br></td> </tr> <tr> <td><?php echo TEXT_PRODUCTS_INHALT; ?></td> <td><?php echo xtc_draw_input_field('products_inhalt', $pInfo->products_inhalt,'style="width: 125px"') ; ?></td> </tr> </table> </table> </td> </tr> </table> <!-- products_extrafield end --> 5: Damit die Daten, die man in Extra-Felder eingibt auch gespeichert werden muss man ein neues Verzeichnis und eine neue Datei erzeugen. (Also die Datei categories.php überladen). Öffnen Sie das Verzeichnis: /Shop-Ordner/user_classes/overloads und fügen Sie ein neues Verzeichnis Namens „categories“ ein. Der Name muss in kleine Buchstaben geschrieben sein. In diesem Verzeichnis fügen Sie eine PHP-Datei mit dem Namen: „extrafield_categories.inc.php ein. In dieser Datei fügen Sie den folgenden Code ein: PHP: <?php class extrafield_categories extends extrafield_categories_parent { public function insert_product($products_data, $dest_category_id, $action = 'insert') { $products_id = parent::insert_product($products_data, $dest_category_id, $action); // BOF products_extrafields $extra_data = array('products_inhalt' => xtc_db_input($products_data['products_inhalt']), 'products_herkunft' => xtc_db_input($products_data['products_herkunft'])); // EOF products_extrafields xtc_db_perform('products', $extra_data, 'update', 'products_id = \''.(int)$products_id.'\''); return $products_id; } function duplicate_product($src_products_id, $dest_categories_id) { $new_products_id = parent::duplicate_product($src_products_id, $dest_categories_id); // BOF products_extrafields Schritt 6 für v.2.3.x.x ProductInfoContentView überladen: Damit die Felder auf der Artikeldetailseite angezeigt werden können, muss man ein neues Verzeichnis und eine neue Overload-Datei erzeugen. Öffnen Sie das Verzeichnis: /Shop-Ordner/user_classes/overloads und fügen Sie ein neues Verzeichnis Namens „ProductInfoContentView“ ein. Bitte achten Sie auf die genaue Schreibweise. In diesem Verzeichnis fügen Sie eine PHP-Datei mit dem Namen: „extrafield_ProductInfoContentView.inc.php ein. In dieser Datei fügen Sie den folgenden Code ein: PHP: <?php/* -------------------------------------------------------------- extrafields_ProductsInfoContentView.inc.php 2015.06.24 Cyrus Micronix TCT info@micronix.de Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] based on: main.php Gambio OHG http://www.gambio.de Copyright (c) 2008 Gambio OHG Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] -------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(Coding Standards); www.oscommerce.com (c) 2005 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: main.php 1286 2005-10-07 10:10:18Z mz $) Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ class extrafield_ProductInfoContentView extends extrafield_ProductInfoContentView_parent { function _assignProductData() { $this->_assignExtrafields(); return parent::_assignProductData(); } // assign new fields called Inhalt and Herkunft public function _assignExtrafields() { $this->set_content_data('PRODUCTS_INHALT', $this->product->data['products_inhalt']); } } ?> Schritt 7 für v.2.3.x.x standard.html als USERMOD überladen: Die Datei "templates/EyeCandy/module/product_info/standard.html" kopieren und als "standard-USERMOD.html" speicher. In dieser Datei nach folgenden Code suchen: HTML: {if $SHIPPING_NAME || $SHOW_SHIPPING_TIME} <dt>{$txt.text_shippingtime}</dt> <dd class="shipping_time">{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} <span class="products_shipping_time_value">{$SHIPPING_NAME}</span>{if $ABROAD_SHIPPING_INFO_LINK_ACTIVE} <a class="abroad_shipping_info_link lightbox_iframe" href="popup_content.php?coID={$smarty.const.SHIPPING_INFOS}&lightbox_mode=1">({$txt.text_abroad_shipping_info})</a>{/if}</dd> {/if} {if $PRODUCTS_QUANTITY || $SHOW_PRODUCTS_QUANTITY} <dt>{$txt.text_stock}</dt> <dd class="products_quantity"><span class="products_quantity_value">{$PRODUCTS_QUANTITY}</span> {if $PRODUCTS_QUANTITY_UNIT}{$PRODUCTS_QUANTITY_UNIT}{else}{$txt.text_pieces}{/if}</dd> {/if}[HTML] und danach folgenden Code einfügen: <!-- BOF products_extrafield --> {if $PRODUCTS_INHALT || $SHOW_PRODUCTS_INHALT} <dt>{$txt.text_inhalt}</dt> <dd class="products_quantity">{$PRODUCTS_INHALT}</dd> {/if} <!-- EOF products_extrafield -->[/HTML]
Diese Fehler weisen nur drauf hin, dass die Sprachdateien nicht geladen sind. Das kann daran liegen, dass die fehlerhaft sind oder überhaupt nicht existieren. Bei der Datei "standard-USERMOD.html" muss ganz am Anfang stehen: HTML: {load_language_text section="product_info"} die Sprachdateien können auch direkt in dem Ordner "lang/german/user_sections" angelegt werden, ohne Unter-Ordner. HTML: <!-- BOF products_extrafield --> {if $PRODUCTS_INHALT || $SHOW_PRODUCTS_INHALT} <dt>{$txt.text_inhalt}</dt> <dd class="products_quantity">{$PRODUCTS_INHALT}</dd> {/if} <!-- EOF products_extrafield --> [/HTML] Der rot markierte Code muss doch heißen: HTML: <!-- BOF products_extrafield --> {if $PRODUCTS_INHALT || $SHOW_PRODUCTS_INHALT} <dt>{$txt.text_products_inhalt}</dt> <dd class="products_quantity">{$PRODUCTS_INHALT}</dd> {/if} <!-- EOF products_extrafield --> [/HTML] NACHTRAG: Text-Cache leeren nicht vergessen. Das muss als aller erste geschehen.
Danke Cyrus, hat funktioniert. Vllt könntest du die Anleitung berichtigen im ersten bis dritten post. Da in der ersten andere Variable wie bei dem anderen genommen wurden. Wie mache ich das jetzt, damit es auf der Startseite unter Neue Artikel und ind der Artikellistenansicht der Inhalt auch angezeigt wird?
Ja, Danke für den Hinweis. Da ich hauptsächlich bei mir einglische Ausdrucke verwende, habe ich beim Ändern durcheinander gekommen. jetzt habe ich es korrigiert.
@Atties, du meinst nur für den Kachel-Ansicht? Die Beschreibung ist doch ganz am Anfang des Beitrages.
Startseite bei neuen Artikel bzw. Top und dann noch kategorien hab die Anleitung für 2.3.2 gemacht aber es zeigt nur in der Artikelbezeichnung an
Hallo Cyrus, wollte heute das SP 2.3.1.7 durchführen, bekomme beim gambio_updater gleich zu Beginn folgende Fehlermeldung Parse error: syntax error, unexpected '.', expecting ')' in /var/www/vhosts/ronmclaine.com/httpdocs/shop/lang/german/sections/properties.lang.inc.php on line 17 PARSE ERROR(4): "syntax error, unexpected '.', expecting ')'" SP lässt sich nicht installieren. Versionsauswahl bringt auch nichts.
Hi Cyrus, kann man die Extra Felder auch so erweitern, das man Kleine Bilder einbinden kann? Danke Gruß Mitsch
Hallo Mitsch, das habe ich mit Extra-Felder noch nicht ausprobiert, aber an sich musste gehen. Suche unter "produkt ausverkauft" bei dem Modul wird ja ein Bild angebunden und dargestellt. Trotzdem, muss ich genau wissen was du vor hast.
Ich habe zur mal ein Bild eingefügt. Unter der Lieferzeit wird das der Schwierigkeitsgrad angegeben und drunter hätte ich gerne zusätzlich ein Bild ähnlich den Sternen. Shop Version 2.2.2.2
Habs geschafft. Hab einfach ein <img src=... davor geschrieben. Im Artikel kann dann der Pfad zum Bild angegeben werden.