Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Admin Modul: Überschreiben eines Blocks - Problem. 
 
shuron
Member
 
Avatar
Total Posts:  58
Joined:  2007-12-09
 

Hallo Leute,

ich habe folgendes Problem.
Ich möchte die Backend-Funktionalität meines Shop Erweitern. Die erweiterugn an sich funktioniert auch, wenn ich es direkt im Magento Code mach. Ist natürlich blöd so, deswegen würde ich gerne den: Mage_Adminhtml_Block_Sales_Order_Create_Search_Grid in meinem eigenem Plugin/Modul überschreiben wollen. Dies klappt jedoch irgendwi nun gar nicht.

Ich habe schon erfolgreich einen anderen Plugin gebaut, welche erfolgreich ein Paar Modelle überschreibt. Blocks verwende ich dort nicht. In diesem muss ich auf jeden Fall eine Block überschreiben und das klappt aber irgendwie nicht.

Meine
config.xml sieht folgendermaßen aus-

<config>
    <
modules>
        <
Techphp_AdvancedBP>
            <
version>0.0.3</version>
        </
Techphp_AdvancedBP>
    </
modules>
    
    <global>
        <
blocks>

            <
advancedbp>
                <class>
Techphp_AdvancedBP_Block</class>
            </
advancedbp>

            <
adminhtml>     
                <
rewrite>
                    <
sales_order_create_search_grid>Techphp_AdvancedBP_Block_Sales_Order_Create_Search_Grid</sales_order_create_search_grid>
                </
rewrite>
            </
adminhtml>     
        </
blocks>

    </global>
    <
adminhtml>
        <
sales>
            <
order>
                <
create>
                    <
available_product_types>
                        <
simple/>
                        <
virtual/>
                        <
bundel/>
                    </
available_product_types>
                </
create>
            </
order>
        </
sales>
    </
adminhtml>
</
config>

Die Ãœberschriebende klasse sieht so aus:

/**
 * Adminhtml sales order create search products block
 *
 * @category   Mage
 * @package    Mage_Adminhtml
 * @author      Magento Core Team <core@magentocommerce.com>
 */
class Techph_AdvancedBP_Block_Sales_Order_Create_Search_Grid extends Mage_Adminhtml_Block_Sales_Order_Create_Search_Grid
{

   
    
protected function _prepareCollection()
    
{
 
...

und befindet sich hier: app\code\local\Techphp\AdvancedBP\Block\Sales\Order\Create\Search\Grid.php

Ich habe bis jetzt nichts darüber gefunden, dass man Blocks anders als Modelle überschreiben soll.
Kann mir eventuell einer sagen ob ich mit dem Block jetzt grundsätzlich was falsch mache oder sizt der Fehler jetzt woanders?
Warum kann ich die Ergebnisse der Änderungen nicht sehen.

Nach Rumprobieren, hatte ich mal zwischendurch auch eine Fehlermeldung gesehen, dass der Controller meine Datei nicht finden kann. War auch nicht verwunderlich, der Pfad in der Meldung war nicht korrekt. Er hat nämlich in core und in local gesucht. Vielich ist das ein Hinweis.

Jede Hilfe willkommen!

 
Magento Community Magento Community
Magento Community
Magento Community
 
shuron
Member
 
Avatar
Total Posts:  58
Joined:  2007-12-09
 

Ich habe den Tippfehler korrigiert “class Techphp...”

Dennoch klappt es noch nicht :(((

#1 .../lib/Varien/Autoload.php(93): include('/kunden/../_...')
#2 [internal function]: Varien_Autoload->autoload('Mage_Adminhtml_...')
#3 /ku.../app/code/core/Mage/Core/Model/Layout.php(462): spl_autoload_call('Mage_Adminhtml_...')
#4 /k../app/code/core/Mage/Core/Model/Layout.php(402): Mage_Core_Model_Layout->_getBlockInstance('adminhtml/sales...', Array)
#5 /ku.../app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create/Form.php(75): Mage_Core_Model_Layout->createBlock('adminhtml/sales...')
#6 /k.. /app/code/core/Mage/Core/Block/Abstract.php(199): Mage_Adminhtml_Block_Sales_Order_Shipment_Create_Form->_prepareLayout()
#7 /ku../203484_21035/webseiten/de/dentotechnik3/app/code/core/Mage/Core/Model/Layout.php(422): Mage_Core_Block_Abstract->setLayout(Object(Mage_Core_Model_Layout))
...
 
Magento Community Magento Community
Magento Community
Magento Community
 
shuron
Member
 
Avatar
Total Posts:  58
Joined:  2007-12-09
 

Hat den keiner Ideen?
Bitte sagt mir dann Wenigsten ob es beim Ãœberschrieben eines Blocks man etwas naderes noch beachten muss als beim Ãœberscheiben eines Modells?
Soll etwa eien controller nagepasst werden?

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top