Menu in html ed effetto con php
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
Beh, un file da includere ci vuole!
Lo scopo è quello di mantenere intestazione, menu etc. in tutte le pagine e cambiare solo il contenuto?
Allora i contenuti li devi mettere su file separati e richiamarli col menu...
La index, quindi, rimane sempre la stessa e, nel punto in cui devono apparire i contenuti, inserisci l'include...
Offtopic: Per il nick l'ho spiegato altrove: ninobi mi aveva stufato e non significava nulla; aschenaz (non ashkenaz), anche se mi ha stufato subito pure quello , lo usavo già in altre community e significa qualcosa...
Lo scopo è quello di mantenere intestazione, menu etc. in tutte le pagine e cambiare solo il contenuto?
Allora i contenuti li devi mettere su file separati e richiamarli col menu...
La index, quindi, rimane sempre la stessa e, nel punto in cui devono apparire i contenuti, inserisci l'include...
Offtopic: Per il nick l'ho spiegato altrove: ninobi mi aveva stufato e non significava nulla; aschenaz (non ashkenaz), anche se mi ha stufato subito pure quello , lo usavo già in altre community e significa qualcosa...
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Menu in html ed effetto con php
Ok, grazie!
Certo, l'idea di rifare il sito in php va accantonata subito...
Visto che la discussione in questo post è diventata assai dotta,
perché non considerate l'ipotesi (visto che nel forum stanno nascendo
iniziative di wiki sulla programmazione) di scrivere qualcosa
(possibilmente comprensibile) sui siti in php?
M.
Certo, l'idea di rifare il sito in php va accantonata subito...
Visto che la discussione in questo post è diventata assai dotta,
perché non considerate l'ipotesi (visto che nel forum stanno nascendo
iniziative di wiki sulla programmazione) di scrivere qualcosa
(possibilmente comprensibile) sui siti in php?
M.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
Guarda che non ci vuole molto!samiel ha scritto:Ok, grazie!
Certo, l'idea di rifare il sito in php va accantonata subito...
E poi, ci guadagni in tempo per le modifiche successive: ad esempio, se devi cambiare una cosa del menu, la cambi una volta e non per n pagine...
Io potrei anche scriverla, ma poi ci penserebbero bene nuitari e conraid a stroncarmela subito!Visto che la discussione in questo post è diventata assai dotta,
perché non considerate l'ipotesi (visto che nel forum stanno nascendo
iniziative di wiki sulla programmazione) di scrivere qualcosa
(possibilmente comprensibile) sui siti in php?
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
Io sinceramente per una cosa semplice come la sua farei il contrario.aschenaz ha scritto: Lo scopo è quello di mantenere intestazione, menu etc. in tutte le pagine e cambiare solo il contenuto?
Allora i contenuti li devi mettere su file separati e richiamarli col menu...
La index, quindi, rimane sempre la stessa e, nel punto in cui devono apparire i contenuti, inserisci l'include...
Tante pagine che ora sono in html, fatte invece in php dove da ognuna chiamata header, footer e menù, dove questo è un semplice file html con quelle aggiunte per l'evidenziazione della pagina corrente.
NIente di più. Uno perché non gli serve. Due perché in questo modo può titolare le pagine come vuole e renderle più seo compliance di un index.php che chiama ogni volta un contenuto diverso.
Il tutto IMVHO
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
Eh certo, siamo qui in attesaaschenaz ha scritto: Io potrei anche scriverla, ma poi ci penserebbero bene nuitari e conraid a stroncarmela subito!
però dai, dove sono nate discussioni e stroncature, ne sono venuti fuori anche discussioni interessanti.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
Si, anche questa è un'ottima soluzione.conraid ha scritto:Io sinceramente per una cosa semplice come la sua farei il contrario.aschenaz ha scritto: Lo scopo è quello di mantenere intestazione, menu etc. in tutte le pagine e cambiare solo il contenuto?
Allora i contenuti li devi mettere su file separati e richiamarli col menu...
La index, quindi, rimane sempre la stessa e, nel punto in cui devono apparire i contenuti, inserisci l'include...
Tante pagine che ora sono in html, fatte invece in php dove da ognuna chiamata header, footer e menù, dove questo è un semplice file html con quelle aggiunte per l'evidenziazione della pagina corrente.
NIente di più. Uno perché non gli serve. Due perché in questo modo può titolare le pagine come vuole e renderle più seo compliance di un index.php che chiama ogni volta un contenuto diverso.
Il tutto IMVHO
Per un po' l'ho adottata, per poi preferire questa che uso adesso.
Non so perché, ma mi trovo meglio.
E poi, il classico index.php?page=etc.etc. a me non dispiace.
- nuitari
- Linux 3.x
- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: Menu in html ed effetto con php
Io spesso uso un content manager di questo tipo:
La logica è che file php ed html vengono posizionati tutti dentro /content, accedendo a /content_manager.php5/percorso si ottiene in visualizzazione la pagina indicata, eventualmente passando la restante parte del percorso come parametro path_info.
Il tutto è un po' mischiato al codice del mio framework, ma dovrebbe essere chiaro comunque. Credo..
Codice: Seleziona tutto
<?php
require("sources/common.php5");
$content_root = $disk_path . "/contents";
$path_info = $_SERVER['PATH_INFO'];
$query_string = $_SERVER['QUERY_STRING'];
$script_name = $_SERVER['SCRIPT_NAME'];
// normalizzazione dell'url
$path_info = FormsCommon_url_normalize($path_info);
$path_info = FormsCommon_url_stripslashes($path_info);
if (!strlen($path_info) || $path_info == "/")
{
$path_info = "/index";
$_SERVER['PATH_INFO'] = $path_info;
}
$is_php = false;
// rileva il file giusto da caricare procedendo con test a ritroso
$tmp = $path_info;
do
{
if (is_file($content_root . $tmp . ".php5"))
{
$path_info = substr($path_info, strlen($tmp));
$script_name = $tmp . ".php5";
$is_php = true;
break;
}
elseif (is_file($content_root . $tmp . ".html"))
{
$path_info = substr($path_info, strlen($tmp));
$script_name = $tmp . ".html";
break;
}
if ($tmp == "/index")
FormsTriggerError("404", E_USER_ERROR, NULL, get_defined_vars());;
if ($tmp != "/index")
$tmp = dirname($tmp);
if ($tmp == "/")
{
$tmp = "/index";
$path_info = "/index" . $path_info;
}
} while (true);
$oPage = new cFormsPage($site_path, $disk_path, $page_path);
$oPage->title = APP_TITLE;
$oPage->theme = "public";
$oPage->on_load_template = "oPage_on_process_parts";
$oPage->on_load_template_layer = "oPage_on_process_parts";
$oPage->sections["topbar"]["on_load_template"] = "oPage_on_process_parts";
$oPage->sections["navbar"]["on_load_template"] = "oPage_on_process_parts";
$oPage->page_css = array();
$oPage->addCss("agenzia-immobiliare.css", $site_path . "/themes/" . $oPage->theme . "/parsecss.php5/css");
// leggo i settings dal db
$paths = "";
$tmp = $_SERVER['PATH_INFO'];
$tmp = FormsCommon_url_normalize($tmp);
$tmp = FormsCommon_url_stripslashes($tmp);
do
{
if (strlen($paths))
$paths .= " OR ";
$paths .= "path = " . $FormsCommon_db->newToSql(new cFormsData($tmp));
} while($tmp != "/" && $tmp = dirname($tmp));
$sSQL = "SELECT
*
FROM
layout
WHERE
" . $paths . "
ORDER BY
path DESC
";
$FormsCommon_db->query($sSQL);
if ($FormsCommon_db->next_record())
{
$layer = $FormsCommon_db->getCFormsData("layer")->getValue();
$topbar = $FormsCommon_db->getCFormsData("topbar")->getValue();
$navbar = $FormsCommon_db->getCFormsData("navbar")->getValue();
if (strlen($layer))
$oPage->layer = $layer;
if (strlen($topbar))
$oPage->topbar = $topbar;
if (strlen($navbar))
$oPage->navbar = $navbar;
}
if ($is_php)
{
require($content_root . $script_name);
}
else
{
$tpl_content = new cTemplate($content_root);
$tpl_content->load_file($script_name, "main");
$loaded_modules = array();
if (is_array($tpl_content->DVars["main"]) && count($tpl_content->DVars["main"]))
{
foreach ($tpl_content->DVars["main"] as $key => $value)
{
if ($tmp = preg_match('/\[(\w+)\]/U', $value, $matches))
{
if (!isset($loaded_modules[$matches[1]]))
{
$tpl_content->set_var($value, include_module($matches[1]));
}
}
}
reset($tpl_content->DVars["main"]);
}
$oPage->fixed_pre_content = $tpl_content->rpparse("main", false);
}
$oPage->process();
function include_module($modulename)
{
global $oPage;
global $disk_path;
global $site_path;
global $page_path;
global $path_info;
global $query_string;
global $script_name;
require($disk_path . "/modules/" . $modulename . "/index.php5");
return $out_buffer;
}
function oPage_on_process_parts($oPage, $aTpl)
{
global $loaded_modules;
$oPage =& $oPage[0];
$tpl_content =& $aTpl[0];
if (is_array($tpl_content->DVars["main"]) && count($tpl_content->DVars["main"]))
{
foreach ($tpl_content->DVars["main"] as $key => $value)
{
if ($tmp = preg_match('/\[(\w+)\]/U', $value, $matches))
{
if (!isset($loaded_modules[$matches[1]]))
{
$tpl_content->set_var($value, include_module($matches[1]));
}
}
}
reset($tpl_content->DVars["main"]);
// FormsTriggerError("DEBUG", E_USER_ERROR, NULL, get_defined_vars());
}
}
?>
Il tutto è un po' mischiato al codice del mio framework, ma dovrebbe essere chiaro comunque. Credo..
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Menu in html ed effetto con php
Ma allora dovrei creare tanti header quante sono le voci dei menuTante pagine che ora sono in html, fatte invece in php dove da ognuna chiamata header, footer e menù, dove questo è un semplice file html con quelle aggiunte per l'evidenziazione della pagina corrente.
per poter avere l'effetto activelink. Non è altrettanto antieconomico?
Avrebbe senso effettivamente solo sul footer, che no ncambia mai...
O no?
M.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
samiel ha scritto:Ma allora dovrei creare tanti header quante sono le voci dei menuTante pagine che ora sono in html, fatte invece in php dove da ognuna chiamata header, footer e menù, dove questo è un semplice file html con quelle aggiunte per l'evidenziazione della pagina corrente.
per poter avere l'effetto activelink. Non è altrettanto antieconomico?
Avrebbe senso effettivamente solo sul footer, che no ncambia mai...
O no?
M.
Facciamo una cosa: io, appena ho un po' di tempo ( quando? Ormai non riesco nemmeno a leggere tutti i post del forum... ), un mini-tutorial lo comincio a scrivere.
Naturalmente, io farò per come la vedo io e secondo le mie conoscenze (semplice ed essenziale). Gli altri poi, se vogliono, possono dire la loro.
Ciao,
nino
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
Ma no, usa il codice che ti ho detto all'inizio in menu.php, o anche in header.php stesso.samiel ha scritto:Ma allora dovrei creare tanti header quante sono le voci dei menuTante pagine che ora sono in html, fatte invece in php dove da ognuna chiamata header, footer e menù, dove questo è un semplice file html con quelle aggiunte per l'evidenziazione della pagina corrente.
per poter avere l'effetto activelink. Non è altrettanto antieconomico?
Avrebbe senso effettivamente solo sul footer, che no ncambia mai...
O no?
Se la pagina si accorge di essere quella si attiva. Per questo esiste $_SERVER['PHP_SELF'] che funziona nel modo giusto se segui la strada che dico io.
Se invece fai un index.php che chiama un contenuto quella variabile sarà sempre index.php
Offtopic: Non dare retta ad i newsgroup dove confondono PHP_SELF con __FILE__
Puoi anche inizializzare una variabile ad ogni pagina e poi valutare quella. Le scelte sono molte.
Io sinceramente ti avevo indicato la regep perché più immediati per darti il suggerimento, ma uso l'inizializzazione della variabile
una pagina chisiamo.php sarà così per esempio
Codice: Seleziona tutto
<?php
$pag = 'chisiamo';
include 'header.php';
...
....
?>
Codice: Seleziona tutto
...
...
<li><a href='chisiamo.php' <?php if $pag == 'chisiamo' echo 'class="activelink"; ?>>Chi Siamo</a></li>
...
...
-
- Linux 3.x
- Messaggi: 735
- Iscritto il: lun 21 mar 2005, 0:00
- Kernel: 2.6.35-22
- Desktop: KDE4
- Distribuzione: Ubuntu
- Località: Milano - Corbola (RO)
- Contatta:
Re: Menu in html ed effetto con php
Io ho fatto così... sett prox recupero il codice e lo metto!giberg ha scritto:Io avevo trovato un codice di esempio in un sito (non conoscendo tantissimo di php) che poi ho modificato per me.
In sostanza c'erano i link con descrizione contenuti in un array. Poi veniva "passata al setaccio" un elemento alla volta dell'array e se il link corrispondeva alla pagina corrente veniva stampato in una maniera, se non corrispondeva veniva stampato in un altra. Per aggiungere nuovi link bastava modificare soltanto l'array aggiungendo la pagina più la descrizione (cioè il testo che poi veniva stampato).
Ora non ho in mano il codice. Appena riesco provo a pulirlo dalle mie modifiche (magari trovo anche quello originale).
-
- Staff
- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Menu in html ed effetto con php
Questa è un'ottima notizia. Mi raccomando, 4 dummies!Facciamo una cosa: io, appena ho un po' di tempo ( quando? Ormai non riesco nemmeno a leggere tutti i post del forum... ), un mini-tutorial lo comincio a scrivere.
M.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
Ecco qua: http://www.slacky.eu/wikislack/index.ph ... plice_Sito
Mi raccomando: forza con le stroncature!
Mi raccomando: forza con le stroncature!
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
aschenaz ha scritto:Ecco qua: http://www.slacky.eu/wikislack/index.ph ... plice_Sito
Mi raccomando: forza con le stroncature!
Codice: Seleziona tutto
echo "blah blah \".... \"blah";
Lo so che hai segnalato, ma quella più usata anche nella documentazione di php e zend è
Codice: Seleziona tutto
echo 'blah blah' . $var . 'blah "...." blah';
Per il resto come sai io farei all'opposto di quanto hai indicato, ma mi sembra inutile sia ribadirlo sia starne a discutere
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
Accetto il suggerimento e correggo subito...
Per quanto riguarda l'opposto, ho accennato che saranno contemplate soluzioni alternative...
Per quanto riguarda l'opposto, ho accennato che saranno contemplate soluzioni alternative...