Community « Le forum « Besoin d'aide « Étendre la classe Page «
Comment: Étendre la classe Page
| << Previous |
Alain, si tu considères que les fonctions sont un simple moyen de regrouper des lignes de code ensemble, tu peux sans doute t'en passer comlètement dans ton cas.
la solution la plus simple, c'est de recopier le contenu de la fonction et non l'ensemble de la fonction elle-même.
Là où tu avais :
Tu mets à la place :
Et après, tu tripatouilles les commandes pour ajuster le tir ...
Bien sûr, ça fait un fichier plus gros, et c'était l'une des motivations initiales pour faire un script
Un autre point important, c'est que le template peut tout à fait contenir du HTML standard, là où le texte reste fixe. D'ailleurs à l'origine, le PHP a été conçu pour s'incruster dans du HTML. Dans le cas de YACS, gestionnaire de contenu dynamique, on peut dire que les fichiers ne contiennent plus que de PHP. Mais dans ton template, libre à toi de mettre en bas de page le code HTML que tu souhaites, après la balise de fin du code PHP '?' suivi de '>', tout à la fin du fichier.
la solution la plus simple, c'est de recopier le contenu de la fonction et non l'ensemble de la fonction elle-même.
Là où tu avais :
Page::footer();
Tu mets à la place :
// the last paragraph
echo '<p>';
// execution time and surfer name, for logged user only (not for indexing
robots!)
if(is_callable(array('Surfer', 'get_name')) && Surfer::get_name() &&
is_callable(array('i18n', 's'))) {
$execution_time = round(get_micro_time() - $context['start_time'], 2);
echo sprintf(i18n::s('Page prepared in %.2f seconds for %s'),
$execution_time, ucwords(Surfer::get_name())).BR;
}
// site copyright
if(isset($context['site_copyright']))
echo '© '.$context['site_copyright'];
// a command to authenticate
if(is_callable(array('Surfer', 'is_logged')) && !Surfer::is_logged() &&
is_callable(array('i18n', 's')))
echo ' - '.Skin::build_link('users/login.php', i18n::s('login'),
'basic').' ';
// about this site
if(is_callable(array('i18n', 's')) && is_callable(array('Articles',
'get_url')))
echo ' - '.Skin::build_link(Articles::get_url('about'), i18n::s('about
this site'), 'basic').' ';
// privacy statement
if(is_callable(array('i18n', 's')) && is_callable(array('Articles',
'get_url')))
echo ' - '.Skin::build_link(Articles::get_url('privacy'), i18n::s('privacy
statement'), 'basic').' ';
// a reference to YACS
if(is_callable(array('i18n', 's')))
echo ' - '.sprintf(i18n::s('powered by %s'),
Skin::build_link(i18n::s('http://www.yetanothercommunitysystem.com/'),
i18n::s('yacs'), 'external'));
// all our feeds
if(is_callable(array('i18n', 's')))
echo ' - '.Skin::build_link('feeds/', i18n::s('rss feeds'), 'basic');
// end of the last paragraph
echo '</p>';
Et après, tu tripatouilles les commandes pour ajuster le tir ...
Bien sûr, ça fait un fichier plus gros, et c'était l'une des motivations initiales pour faire un script
skins/page.php et réduire la taille des templates; Mais au moins YACS ne te limite pas du tout quand aux possibilités de mise en page.Un autre point important, c'est que le template peut tout à fait contenir du HTML standard, là où le texte reste fixe. D'ailleurs à l'origine, le PHP a été conçu pour s'incruster dans du HTML. Dans le cas de YACS, gestionnaire de contenu dynamique, on peut dire que les fichiers ne contiennent plus que de PHP. Mais dans ton template, libre à toi de mettre en bas de page le code HTML que tu souhaites, après la balise de fin du code PHP '?' suivi de '>', tout à la fin du fichier.
by Bernard on Jan. 18
