Devo inserire uno script php all'interno di una pagina html. Questo poichè i temi di xoops vengono gestiti da file html.
Esiste un'alternativa all'include utilizzato nel php magari tramite qualche script php?
Grazie.
Devo inserire uno script php all'interno di una pagina html. Questo poichè i temi di xoops vengono gestiti da file html.
Esiste un'alternativa all'include utilizzato nel php magari tramite qualche script php?
Grazie.
Nel template dovresti scrivere
<?PHP
include('file.php');
?>
Oppure vedere che sintassi usa il template engine di xoops per includere i file php.
oppure inserirlo direttamente nel codice!
Insomma, i modi ci sono! Basta scegliere! Cerca di essere più preciso.
Che tipo di script è?
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
è uno script che carica dei fogli css a seconda del browser e della risoluzione utilizzata.
Quindi ho necessità di inserirlo all'interno del <HEAD>.
Potrei farlo anche tramite javascript ma è molto più comodo lo script PHP.
Bene, adesso dovresti dirmi che sistema usa xoopes per gestire i template. Se usa smarty siamo a cavallo (credo!) altrimenti la cosa si fà molto complicata.
Cmq credo che un js sarebbe molto meglio.
Dirti così come modificare il codice di xoops sarebbe molto complicato.
Altrimenti dovresti andare a postare sul loro forum.
Lì ti sapranno dare indicazioni più precise a riguardo.
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
Usa proprio smarty!!!!!!!
Ho provato ad inserire questa istruzione:
ma non funziona, il browser mi dicecodice:<{include file="<{$xoops_url}>/detect_browser.php"}>
codice:Warning: Smarty error: unable to read resource: "<{http://localhost/xoops" in C:\Programmi\xampp\htdocs\xoops\class\smarty\Smarty.class.php on line 1084 /detect_browser.php"}>
Normalmente i separatori di smarty sono { }.
Ora ti scrivo la sintassi corretta utilizzando questi separatori:
{include file="`$xoops_url`/detect_browser.php"}
Devi usare il carattere ` (si ottiene con ALT+96) al nome della var in questo caso.
Per stampare il tipo di operatore usa
echo $smarty->left_delimiter ;
echo $smarty->right_delimiter ;
Quello di sopra è un codice PHP.
Magari lo inserisci direttamente in una pagina php del CMS che sei sicuro venga caricata. (poi dovrai cancellarlo! Ti serve solo per vedere che modificatori usare!). Ciao!
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!
Mi vengono restituiti gli stessi errori di prima.
Comunque: il file detect_browser è fatto così:
e io vorrei inserire questo file all'inizio del file theme.html che utilizza smarty.codice:<?php if(strpos($_SERVER["HTTP_USER_AGENT"], "Gecko")) { echo "<LINK type='text/css' media='screen' rel='stylesheet' href='<{$xoops_url}>/themes/<{$xoops_theme}>/css/mozilla/style_mozilla.css' title='normale'/>"; } elseif(strpos($_SERVER["HTTP_USER_AGENT"], "MSIE")) { echo "Internet Explorer "; } elseif(strpos($_SERVER["HTTP_USER_AGENT"], "Mozilla")) { echo "Mozilla "; } else { echo "Il tuo browser non è stato identificato!" ; } ?>
Se utilizzo la funzione {include file="`$xoops_url`/detect_browser.php"} non mi viene restituito correttamente il file.
Allora hanno disabilitato l'utilizzo di file php all'interno del template.
Non ti resta che inserirlo all'interno del file principale.
Cmq questo non è il modo più corretto di operare.
Fai in questo modo:
fai in modo che il file che imposta il css venga incluso in ogni pagina che visualizzi. (magari lo metti nel file config o in qualcosa del genere, cmq in un file che sei sicuro venga incluso in ogni pagina).
Il file che imposta il css lo modifichi in questo modo:
Lo stesso devi fare per gli altri css.Codice PHP:
<?php
if(strpos($_SERVER["HTTP_USER_AGENT"], "Gecko")) {
$smarty->assign('css' , 'css/mozilla/style_mozilla.css' ) ;
}
elseif(strpos($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo "Internet Explorer
";
}
elseif(strpos($_SERVER["HTTP_USER_AGENT"], "Mozilla")) {
echo "Mozilla
";
}
else {
echo "Il tuo browser non è stato identificato!" ;
}
?>
Nel file template scrivi il path completo della cartella che contiene i css e quindi scriverai qualcosa del genere:
In questo modo potrai inserire il css più appropriato a seconda del browser. Se non hai capito dimmelo che cerco di spiegartelo meglio. Ciao!codice:<LINK type='text/css' media='screen' rel='stylesheet' href='<{$xoops_url}>/themes/<{$xoops_theme}><{$css}>' title='normale'/>
eCommerceRS.NET - Commerciante, vendi on-line!
Il mio nick è mircov e non mirco!!!