Magento Forum

Banner in header
 
mas-ter
Jr. Member
 
Total Posts:  13
Joined:  2008-07-01
 

Salve a tutti,
nuovo quesito, vorrei mettere dei banner nella header , solo che non so neanche da dove si parta con i blocks, so che posso modificare il file header.phtml e inserire un’immagine, solo che mi sembra il metodo più “grezzo”. Voi sapete se c’è la possibilità di poter caricare 4/5 banner nel database e richiamarli in modo randomico nella header?
Grazie

 
Magento Community Magento Community
Magento Community
Magento Community
 
Black Cat
Moderator
 
Avatar
Total Posts:  3481
Joined:  2008-02-14
Assemini / Cagliari (Italy)
 

questo è già più difficile. Per dei banner randomizzabili, dovresti inserire del codice php all’interno dello stesso template (quindi nel file header.phtml). Non ho idea se è fattibile come cosa, ma tentar non nuoce. Prova a scrivere qualche riga di codice php semplice che carichi random le tue immagini.

 
Magento Community Magento Community
Magento Community
Magento Community
 
mas-ter
Jr. Member
 
Total Posts:  13
Joined:  2008-07-01
 

Ciao Black Cat,
ho aggiunto del codice nel file header.phtml che vada a pescare dei banner in modo randomico in una cartella che ho creato in /skin/frontend/default/default/images/media/banner/ , ma alla fine appena carcico la home page del sito mi viene fuori:

“There has been an error processing your request
Warning: opendir(/skin/frontend/default/default/images/media/banner/) [function.opendir]: failed to open dir: No such file or directory in /app/design/frontend/default/default/template/page/html/header.phtml on line 45
Trace:
0 /app/design/frontend/default/default/template/page/html/header.phtml(45): mageCoreErrorHandler(2, ‘opendir(/skin/f...’, ‘/p...’, 45, Array)
#1 /app/code/core/Mage/Core/Block/Template.php(131): include(’/home/marchel/p...’)
#2 /app/code/core/Mage/Core/Block/Template.php(163): Mage_Core_Block_Template->fetchView(’/skin/frontend/...’)
#3 /app/code/core/Mage/Core/Block/Template.php(180): Mage_Core_Block_Template->renderView(’frontend/default/de...’)
#4 /app/code/core/Mage/Core/Block/Abstract.php(554): Mage_Core_Block_Template->_toHtml()
#5 /app/code/core/Mage/Core/Block/Abstract.php(431): Mage_Core_Block_Abstract->toHtml()
#6 /app/code/core/Mage/Core/Block/Abstract.php(408): Mage_Core_Block_Abstract->_getChildHtml()
#7 /app/design/frontend/default/default/template/page/2columns-right.phtml(35): Mage_Core_Block_Abstract->getChildHtml(’header’, true)
#8 /app/code/core/Mage/Core/Block/Template.php(131): include(’/home/marchel/p...’)
#9 /app/code/core/Mage/Core/Block/Template.php(163): Mage_Core_Block_Template->fetchView(’header’)
#10 /app/code/core/Mage/Core/Block/Template.php(180): Mage_Core_Block_Template->renderView(’frontend/default/de...’)
#11 /app/code/core/Mage/Core/Block/Abstract.php(554): Mage_Core_Block_Template->_toHtml()
#12 /app/code/core/Mage/Core/Model/Layout.php(505): Mage_Core_Block_Abstract->toHtml()
#13 /app/code/core/Mage/Core/Controller/Varien/Action.php(319): Mage_Core_Model_Layout->getOutput()
#14 /app/code/core/Mage/Cms/Helper/Page.php(77): Mage_Core_Controller_Varien_Action->renderLayout()
#15 /app/code/core/Mage/Cms/controllers/IndexController.php(26): Mage_Cms_Helper_Page->renderPage()
#16 /app/code/core/Mage/Core/Controller/Varien/Action.php(342): Mage_Cms_IndexController->indexAction(Object(Mage_Cms_IndexController), ‘home’)
#17 /app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(159): Mage_Core_Controller_Varien_Action->dispatch()
#18 /app/code/core/Mage/Core/Controller/Varien/Front.php(146): Mage_Core_Controller_Varien_Router_Standard->match(’index’)
#19 /app/Mage.php(427): Mage_Core_Controller_Varien_Front->dispatch(Object(Mage_Core_Controller_Request_Http))
#20 /index.php(40): Mage::run()
#21 {main}

Qualsiasi aiuto è apprezzato, grazie

 
Magento Community Magento Community
Magento Community
Magento Community
 
Black Cat
Moderator
 
Avatar
Total Posts:  3481
Joined:  2008-02-14
Assemini / Cagliari (Italy)
 

il codice è corretto? probabilmente allora interrompe una sequenza di codice.
Prova a inserire la sequenza di codice all’esterno della sequenza php e richiamare all’interno solo la variabile

 
Magento Community Magento Community
Magento Community
Magento Community
 
mas-ter
Jr. Member
 
Total Posts:  13
Joined:  2008-07-01
 

ciao black cats,
il codice è corretto, ma non so in quale cartella devo salvare il file banner.php che contiene il codice e dove devo fare il richiamo....nella header.phtml?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Black Cat
Moderator
 
Avatar
Total Posts:  3481
Joined:  2008-02-14
Assemini / Cagliari (Italy)
 

fammi vedere il tuo codice

 
Magento Community Magento Community
Magento Community
Magento Community
 
mas-ter
Jr. Member
 
Total Posts:  13
Joined:  2008-07-01
 

<?php
//definiamo il percorso alla cartella sorgente
$path="/skin/frontend/default/default/images/banner";

//stabiliamo i formati riconoscibili
$formati=array('gif','jpg','png');

//apriamo la cartella che contiene le immagini
$open = opendir($path);

//leggiamo tutte le immagini con un ciclo
$img=array();
while(false !== ($f=readdir($open))) {
for($i=0;$i<count($formati);$i++){
$formato=substr($f,(strlen($f)-3),strlen($f));
if(in_array($formato,$formati)){
$img[]=$f;
}
}
}

//mostriamo l'immagine casuale
if(count($img)==0);
{
$info = rand(0,(count($img)-1));
echo "<img src=\"".$path.$img[$info]."\">";
}
?>

 
Magento Community Magento Community
Magento Community
Magento Community
 
Black Cat
Moderator
 
Avatar
Total Posts:  3481
Joined:  2008-02-14
Assemini / Cagliari (Italy)
 

forse è meglio se usi delle variabili molto fantasiose. Così ci potrebbero essere variabili identiche in MAgento
Inoltre il percorso è sbagliato. Conta che parte da dove è stato aperto il file (credo).
In alternativa dovresti chiedere sul forum internazionale come inserire del codice php nei file phtml di template.
Prova a fare una piccola prova con un codice php da 1 stringa. Un codice stupido e banalissimo per vedere se è fattibile una stringa php nei file di template

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