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

spostare block nel layout
 
peppe2
Sr. Member
 
Total Posts:  86
Joined:  2008-08-28
Roma
 

Sto lavorando suk blank theme, dovrei spostare il block toplink in alto, sopra la header, ma quando lo faccio mi scompare. Ecco la procedura.
Il blank theme ha un div page che contiene tutto, quindi il layout a due colonne che sto utilizzando. Vorrei portare i top link in un div sopra al div page.

1) ho creato il div cappello nel file 2columns-left.phtml sopra al div page, incollandoci il block dei top links

<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
<
div class="wrapper">
    <!--------------------------------- 
questa la riga aggiunta -------------------------------->
    <
div class="cappello"><?php echo $this->getChildHtml('topLinks'?></div>
    <!------------------------------------------------------------------------------------------------>
    <
div class="page">
        <
div class="header-container"><?php echo $this->getChildHtml('header'?></div>
        <
div class="main col2-left-layout">
            
<?php echo $this->getChildHtml('breadcrumbs'?>
            
<div class="col-left sidebar"><?php echo $this->getChildHtml('left'?></div>
            <
div class="col-main">
                
<?php echo $this->getChildHtml('global_messages'?>
                <?php 
echo $this->getChildHtml('content'?>
            
</div>
        </
div>
        <
div class="footer"><?php echo $this->getChildHtml('footer'?></div>
        
<?php echo $this->getChildHtml('before_body_end'?>
    
</div>
</
div>
<?php echo $this->getAbsoluteFooter() ?>
</body>

Il block toplinks lo ho tagliato e copiato così com’era nel header.phtml. Nell’output c’è il div html ma non il contenuto del block.

2)A questo punto, ho creato un file cappello.phtml, ci ho incollato il block toplinks e ho provato a modificare il file page.xml aggiungendo queste righe:

<block type="page/html_cappello" name="cappello" as="cappello"  template="page/html/cappello.phtml">
       <
block type="page/template_links" name="top.links" as="topLinks"/>
</
block>
Modificando nel file 2columns-left.phtml per richiamare il nuovo file:
<div class="cappello"><?php echo $this->getChildHtml('cappello'?></div>

Il risultato è lo stesso, nell’output html c’è il div correttamente posizonato ma non il block, tantomeno il div creato all’interno di cappello.phtml.
In pratica non funziona il richiamo dal xml e per qualche ragione portando i toplinks fuori dall’header non vengono viualizzati.

Sicuramente la procedura non è corretta, qualcuno ha un buon consiglio?
grazie

 
Magento Community Magento Community
Magento Community
Magento Community
 
chiaraweb
Guru
 
Avatar
Total Posts:  721
Joined:  2008-03-21
Aviano ~ Italy
 

dentro a page.xml il block type dove lo hai messo?
penso sia lì l’errore, se lo muovi devi dirgli dentro a qualche blocco deve uscire, che suppongo se nn ho capito male dovrebbe andare dentro ai tag che identificano l’header

io ho fatto cosi per il search, l’ho spostato dall’header dentro al left

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