Jump to content

[Risolto]Visualizzare un file html in una pagina tipo cms


paolo_m

Recommended Posts

Ho una serie di file html molto semplici tipo quelli delle pagine Cms.
Variano spesso e sono creati da diversi autori... non posso/voglio ri-crearle tutte come pagine del cms (anche se basterebbe una serie di crtl-c ctrl-v) in quanto non dovrebbero apparire nella mappa del sito e non serve indicizzarle, ecc. ... inoltre essendo molte mi sa di andare ad appesantire il dbase...

Da una pagina del cms, oltre alla spiegazione generica, vorrei mettere una serie di link che dovrebbero aprire questi file e farli apparire al posto della pagina stessa.
Avrei una sola pagina per argomento da tenere aggiornata in caso di aggiunta/rimozione ma le modifiche sono tutte nei singoli files.

Il link dovrebbe far passare ad un php il nome del file.
Tipo

Leggimi...


Il file XXXX.php dovrebbe essere simile a cms.php, ma che ci scrivo per intercettare il valore di "paginahtml' ?
E come do in pasto al file XXXX.tpl (simile ovviamente a cms.tpl) il contenuto del file ?

...si capisce molto che non ne capisco una mazza di php??? :-)

Thank's

Link to comment
Share on other sites

Ci sono quasi. :-)
-In una cartella chiamata 'cms' dentro PS ho i files .html (roba semplice, solo formattazione di base.)

-Creato cmslink.php e posizionato nella cartella pricipale di PS.

<?php
include(dirname(__FILE__).'/config/config.inc.php');
//will be initialized bellow...
if(intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1)
   $rewrited_url = null;
include(dirname(__FILE__).'/init.php');
//la chiamata è STORE/cmslink.php?ID=prova
$srcFile= dirname(__FILE__).'/cms/'.$_GET['ID'].'.html'; //leggo la variabile 'srcFile' e ci attacco davanti l'url del sito + la cartella dove ho i files e dietro '.html'
if ( $code = file_get_contents($srcFile))
{
include(dirname(__FILE__).'/header.php');
echo $code ; //funziona
//return $this->display(_PS_THEME_DIR_, 'cmslink.tpl');
//$smarty->assign('code' => $code);
//$smarty->display(_PS_THEME_DIR_.'cmslink.tpl');

include(dirname(__FILE__).'/footer.php');
}
else
   Tools::redirect('404.php');

?>


-Creato cmslink.tpl e messo nella cartella del tema.

   {$code}


{l s='Home'}




Con un link in una pagina apposita del Cms, ma potrebbe essere ovunque, chiamo cmslink.php:

Link da seguire



Succede che al posto della pagina Cms mi ritrovo il contenuto del file .html... con ps tutto intorno.
Fantastico... :cheese:

Ora basterebbe fargli usare il tpl così da averlo con lo stesso stile, o si può fare direttamente da php?
Purtroppo mi sono impantanato... chi mi da una dritta per qualcosa di meglio dell'echo?

Thank's

Link to comment
Share on other sites

Semplicemente invece di fare un echo,
fai un smarty assign e passi a smarty il contenuto della tua variabile


nella pagina smarty (che devi crearti copia quella CMS se vuoi lo stesso stile)
metti tra parentesi graffe la tua variabile ed ecco il tuo echo!

Link to comment
Share on other sites

Trovato l'errore!

$smarty->assign('code', $code);


Non ci andava => ma una virgola, l'esempio che avevo "cannibalizzato" prevedeva il passaggio di una matrice e non un singolo valore.

Grazie Disarci...

Come funzionalità di base sono a posto... appena ho voglia di "farmi male ancora" ci metto mano per infiocchettarlo con qualcosina in più.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...