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

Sortierung der Blocks im Content ändern
 
markus.schall
Jr. Member
 
Total Posts:  12
Joined:  2008-06-01
Reutlingen, Germany
 

Hallo,

ich gehe gerade das Buch “php|architect’s Guide to Programming Magento” durch. In Kapitel 9 wird ein eigenes Modul erzeugt, das “Punkte” beim Einkaufen von Waren vergibt (nach dem Prinzip von Payback).

Die Punkte will ich nun im Frontend beim Kunden auf dem Dashboard anzeigen lassen. Das funktioniert nun auch soweit.

Zu meinem Problem:

Wie kann ich den Punkte-Block weiter nach unten verschieben (z.B. unter “Neueste Bestellungen")? Die Möglichkeit mit after="-" in der Blockdefinition habe ich schon ausprobiert, geht aber nicht. Ich will so wenig wie möglich am Mage-Core rumspielen, das sollte alles in meinem eigenen Modul definiert werden.

Meine Config (app/code/local/Comany/RewardPoints/etc/config.xml):

<global>
    ...
    <
frontend
        <
layout>
             <
updates>
                  <
rewardpoints>
                        <
file>rewardpoints.xml</file>
                  </
rewardpoints>                 
             </
updates>
        </
layout>
    ...
    </
frontend>
...
</global>

Meine XML (app/design/frontend/default/default/layout/rewardpoints.xml):

<?xml version="1.0"?>

<layout version="0.1.0">
    <
customer_account_index>
        <
reference name="content">
            <
block type="core/template" after="-" name="customer_account_dashboard_rewardpoints" template="rewardpoints/dashboard_points.phtml"/>
        </
reference>
    </
customer_account_index>
</
layout>
Image Attachments
Bild 1.png
 
Magento Community Magento Community
Magento Community
Magento Community
 
mzentrale1
Guru
 
Total Posts:  731
Joined:  2007-12-06
Stuttgart, Germany
 

Hi,

in der layout.xml des Moduls musst du bei after="-" den namen des Blocks angeben nachdem dein Block ausgegeben werden soll. Eine Block Node hat die Attribute name="xyx" und as="xyz", du kannst dann bei name denke ich den wert aus “as” oder “name” eintragen. Im folgenden Beispiel habe ich den Namen aus as eingetragen, kann aber auch sein das du da “sale.reorder.sidebar” eintragen musst. Siehe

<customer_account>
        <!-- 
Mage_Customer -->
        <
reference name="root">
            <
action method="setTemplate"><template>page/2columns-left.phtml</template></action>
        </
reference>

        <
reference name="left">
            <
block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
                <
action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
                <
action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
                <
action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>
            </
block>
             <
reference name="left">

                <
block type="checkout/cart_sidebar" name="cart_sidebar" template="checkout/cart/sidebar.phtml"/>
                <
block type="core/template" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
                <
block type="sales/reorder_sidebar" name="sale.reorder.sidebar" as="reorder" template="sales/reorder/sidebar.phtml"/>
                <
action method="unsetChild"><name>tags_popular</name></action>
            </
reference>
        </
reference>
    </
customer_account>

<?xml version="1.0"?>

<layout version="0.1.0">
    <
customer_account_index>
        <
reference name="content">
            <
block type="core/template" after="reorder" name="customer_account_dashboard_rewardpoints" template="rewardpoints/dashboard_points.phtml"/>
        </
reference>
    </
customer_account_index>
</
layout>

Grüsse

 
Magento Community Magento Community
Magento Community
Magento Community
 
SimonSimCity
Jr. Member
 
Avatar
Total Posts:  4
Joined:  2008-08-14
 

Ich hab hier was komisches entdeckt:

Ich habe folgendes XML, welches richtig strukturiert angezeigt wird:

<block type="core/text_list" name="left" as="left">
                <
block type="page/template_links" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml">
                </
block>
                <
block type="cms/block" name="cms_more_about" >
                    <
action method="setBlockId"><block_id>more_about</block_id></action>
                </
block>
                <
block type="catalog/navigation" name="catalog.topnav" template="catalog/navigation/top.phtml" before="cms_more_about"/>
</
block>

Wenn ich jetzt dem “catalog.topnav” keine Positionierung gebe und dem “cms_more_about” sage es soll so sitzen: after="catalog.topnav"
Dann funktioniert das nicht !
Dann sollte doch eigendlich die Anzeige gleich sein !!!

Hier der Code der nicht funktioniert:

<block type="core/text_list" name="left" as="left">
                <
block type="page/template_links" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml">
                </
block>
                <
block type="cms/block" name="cms_more_about" after="cms_more_about">
                    <
action method="setBlockId"><block_id>more_about</block_id></action>
                </
block>
                <
block type="catalog/navigation" name="catalog.topnav" template="catalog/navigation/top.phtml" />
</
block>
 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top