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.069
    Danke erhalten:
    862
    Danke vergeben:
    740
    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:
    87
    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.189
    Danke erhalten:
    1.487
    Danke vergeben:
    103
    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:
    766
    Danke erhalten:
    643
    Danke vergeben:
    165
    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.069
    Danke erhalten:
    862
    Danke vergeben:
    740
    #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:
    31.891
    Danke erhalten:
    9.792
    Danke vergeben:
    1.442
    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.069
    Danke erhalten:
    862
    Danke vergeben:
    740
    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 :)