Wo ist denn system/views/product_info/ProductInfoContentView.inc.php hin?

Thema wurde von Anonymous, 22. Juni 2016 erstellt.

  1. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.125
    Danke vergeben:
    947
    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?
     
  2. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    3. Dezember 2012
    Beiträge:
    229
    Danke erhalten:
    23
    Danke vergeben:
    27
    .../system/classes/products/ProductInfoContentView.inc.php
     
  3. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    89
    Danke vergeben:
    49
    Guck mal unter system/classes/products/...

    Edit: Zuuuu langsam :oops:
     
  4. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Im Normalfall sollten Anpassungen an Dateien in system/* nicht nötig sein, das allermeiste kann man über Overloads et al. erledigen.
     
  5. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    3. Dezember 2012
    Beiträge:
    229
    Danke erhalten:
    23
    Danke vergeben:
    27
    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']);
            }

    }
    ?>
     
  6. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    3. Dezember 2012
    Beiträge:
    229
    Danke erhalten:
    23
    Danke vergeben:
    27
    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);
            }

    }
    ?>
     
  7. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    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.
     
  8. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    3. Dezember 2012
    Beiträge:
    229
    Danke erhalten:
    23
    Danke vergeben:
    27
    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
     
  9. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.125
    Danke vergeben:
    947
    #9 Anonymous, 23. Juni 2016
    Zuletzt bearbeitet: 23. Juni 2016
    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 ProductInfoContentView
    class 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']);
      }

    }
    ?>
     
  10. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Dateiname muss identisch sein mit "class"
    In Deinem Beispiel heißt die Datei
    manu_ProductInfoContentView.inc.php
     
  11. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.125
    Danke vergeben:
    947
    Cool. Gar nicht so ganz schwer...
     
  12. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    3. Dezember 2012
    Beiträge:
    229
    Danke erhalten:
    23
    Danke vergeben:
    27
    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 :)