Wollte gerade das MU 3.0 vorbereiten (von 2.6.3) und bin meine manuellen Anpassungen in den Shop-Dateien durchgegangen. Wo ist denn system/views/product_info/ProductInfoContentView.inc.php hin? Weggerefactored?
Im Normalfall sollten Anpassungen an Dateien in system/* nicht nötig sein, das allermeiste kann man über Overloads et al. erledigen.
Marco.. haste mal nen Tipp für mich wie man das mit den Overloads macht? das unten aufgeführte muß ich in die ProductInfoContentView.inc.php reinbasteln, damit ich die variable manufactures_id für das Produkt habe! Wie muß ich das jetzt basteln für diese Overload? ca. Zeile 160 PHP: protected function _assignProductData() { // assign properties and set $this->hasProperties flag $this->_setPropertiesData(); $this->_assignAttributes(); $this->_assignDate(); $this->_assignDeactivatedButtonFlag(); $this->_assignGPrint(); $this->_assignDescription(); $this->_assignDiscount(); $this->_assignEan(); $this->_assignGraduatedPrices(); $this->_assignId(); $this->_assignImageData(); $this->_assignImageMaxHeight(); $this->_assignLegalAgeFlag(); $this->_assignModelNumber(); $this->_assignName(); $this->_assignNumberOfOrders(); $this->_assignPrice(); $this->_assignProductUrl(); $this->_assignQuantity(); $this->_assignShippingTime();/* stumod Hersteller Größentabelle */ $this->_assignManufacturers();/* stumod Hersteller Größentabelle */ $this->_assignStatus(); $this->_assignVpe(); $this->_assignWeight(); $this->_assignAdditionalFields(); ca. Zeile 971 PHP: protected function _assignPriceOffer() { if($this->product->data['gm_show_price_offer'] == 1 && $this->showPrice && $this->xtcPrice->gm_check_price_status($this->product->data['products_id']) == 0 ) { $this->set_content_data('GM_PRICE_OFFER', 1); } }/* stumod Hersteller Größentabelle */ protected function _assignManufacturers() { $this->set_content_data('MANUFACTURERS_ID', $this->product->data['manufacturers_id']); }/* stumod Hersteller Größentabelle */ protected function _assignStatus() { $this->set_content_data('PRODUCTS_STATUS', $this->product->data['products_status']); } Mein eigener Overload versuch! Leider ohne Erfolg, danach ist nichts mehr zu sehen! PHP: <?php/* -------------------------------------------------------------- manu_ProductInfoContentView.inc.php 2016 fist Best Moto Styles http://www.bestmotostyles.de Copyright (c) 2016 Best Moto Styles 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 manu_ProductInfoContentView extends manu_ProductInfoContentView_parent { public function _assignProductData() { $this->_assignManufacturers(); } public function _assignManufacturers() { $this->set_content_data('MANUFACTURERS_ID', $this->product->data['manufacturers_id']); }}?>
HAbs glaub ich hinbekommen! Bastel bastel... Isses so richtig? PHP: <?php/* -------------------------------------------------------------- main.php 2008-08-07 gambio 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 manu_ProductInfoContentView extends manu_ProductInfoContentView_parent { function build_html($p_content_data_array=false, $p_template_file=false) { $this->set_content_data('MANUFACTURERS_ID', $this->product->data['manufacturers_id']); return parent::build_html($p_content_data_array, $p_template_file); }}?>
Hi, dein erster Ansatz war schon sehr elegant nur hast du hier das parent::_assignProductData(); vergessen, was noch über die Zeile $this->_assignManufacturers(); muss, dann hätte auch der Overload funktioniert. Aber dein zweiter Ansatz funktioniert ebenso.
Hi Till... habe ich gleich mal ausprobiert.. und funktioniert! Welche wäre den die bessere Version!? Und kannste mal bei meinem Problem mit dem DropdownMenu schauen! Vielleicht fällt Dir dazu ja auch was ein!? Besten Dank
Blutiger Noob will mitlernen also die erste Zeile besagt, welche Datei diese Datei ergänzt. Dann kann man eine protected function durch eine public function erweitern, und dann muss man in system/overloads/ einen Ordner mit dem Namen der Datei erstellen, die man erweitern möchte (ProductInfoContentView) und dann die Datei darin abspeichern? Dateiname egal? Habe ich das unten im Quellcode richtig kommentiert? PHP: <?php/* -------------------------------------------------------------- manu_ProductInfoContentView.inc.php 2016 fist Best Moto Styles http://www.bestmotostyles.de Copyright (c) 2016 Best Moto Styles 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 ---------------------------------------------------------------------------------------*/// Diese Datei erweitert die ProductInfoContentViewclass manu_ProductInfoContentView extends manu_ProductInfoContentView_parent { // Funktion die festlegt, dass in ProductData auch der Hersteller aufgenommen wird public function _assignProductData() { // _assignProductData ist die bestehende Funktion die ergänzt wird parent::_assignProductData(); // Feld Hersteller wird hinzugefügt $this->_assignManufacturers(); } // Funktion, die den Wert für_assignManufacturers holt public function _assignManufacturers() { // übergibt die manufacturers_id an das Template $this->set_content_data('MANUFACTURERS_ID', $this->product->data['manufacturers_id']); }}?>
Dateiname muss identisch sein mit "class" In Deinem Beispiel heißt die Datei manu_ProductInfoContentView.inc.php
L&B cool.. und bei dir sieht das so ordentlich aus! Das müßt ich mir mal auch angewöhnen.. dann bin ich vielleicht auch nicht immer am suchen