Aide générale [Réglé] [ BETA ] Tuto, page index.php avec récupération BDD des news
Bonjour à tous.
Je propose un petit tutoriel pour insérer une page index.php à la racine de son site, avec la récupération sur la BDD des news, dont l'affichage est pratiquement identique au module news lui même.
Je tiens à préciser que le "codage" vient de Saturnin. Je fais juste le tutoriel, car sur le sujet en question, il y a des codes de partout .
A noter également, que cet index.php et edito.tpl a été testé sur le thème Cappuccino. Il se peut que des choses soient à modifier pour les autres thèmes.
Commençons donc.
Le fichier index.php à mettre à la racine de votre site
Dans le fichier index.php vous pouvez changer le nombre de news à afficher sur cette ligne (Ligne 84) :
Il suffit de changer le "6" par le nombre de votre choix.
Toujours dans le fichier index.php, vous pouvez changer le nombre de caractère à afficher avant la news étendue sur cette ligne (Ligne 98) :
Il est obligatoire de changer le chiffre deux fois .. "800" sur le fichier actuel.
Passons maintenant sur le edito.tpl à insérer dans ./news/templates/
Voici le code HTML :
L'affichage peut varier selon vos autres modifications précédentes.
Voila le tutoriel en version BETA, et en attente de correction, ou complément Edité par m-ickael Le 26/02/2011 à 16h56
Je propose un petit tutoriel pour insérer une page index.php à la racine de son site, avec la récupération sur la BDD des news, dont l'affichage est pratiquement identique au module news lui même.
Je tiens à préciser que le "codage" vient de Saturnin. Je fais juste le tutoriel, car sur le sujet en question, il y a des codes de partout .
A noter également, que cet index.php et edito.tpl a été testé sur le thème Cappuccino. Il se peut que des choses soient à modifier pour les autres thèmes.
Commençons donc.
Le fichier index.php à mettre à la racine de votre site
Code PHP :
<?php /*################################################## * index.php * aditif au module news * ------------------- * Largement récupéré du module news & pages * Il reste sous le © de news.php & pages.php * Copyright : (C) 2005 Viarre Régis * Modification : SaTurNin ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ // definition de la racine du site pour etre poser a la base(index.php) define('PATH_TO_ROOT', './'); //Css alternatif. define('ALTERNATIVE_CSS', 'news'); require_once('./kernel/begin.php'); // definition du tite de la page manuel define('TITLE', 'Edito'); require_once('./kernel/header.php'); // pompé l'édito de news, meme si désactivé // permet de garder le module admin d'édition function get_home_page() { global $User, $Sql, $Cache, $Bread_crumb, $CONFIG_NEWS, $LANG, $Session; require_once('./news/news_begin.php'); // recup rss import('content/syndication/feed'); require_once PATH_TO_ROOT . 'poll/poll_mini.php'; $contents_feed_wiki = Feed::get_parsed("wiki", DEFAULT_FEED_NAME, 0, FALSE, 5, 0); $contents_feed_news = Feed::get_parsed("news", DEFAULT_FEED_NAME, 0, FALSE, 5, 0); $contents_feed_download = Feed::get_parsed("download", DEFAULT_FEED_NAME, 0, FALSE, 5, 0); //mise en variable pour tpl et position du tpl $tpl_news = new Template('news/edito.tpl'); $tpl_news->assign_vars( array( 'C_NEWS_EDITO' => true, 'CONTENTS' => second_parse($CONFIG_NEWS['edito']), 'TITLE' => $CONFIG_NEWS['edito_title'], 'PATH_TO_ROOT' => TPL_PATH_TO_ROOT, 'THEME' => get_utheme(), 'FEED_MENU' => Feed::get_feed_menu(FEED_URL), 'feed_news' => $contents_feed_news, 'feed_wiki' => $contents_feed_wiki, 'feed_download' => $contents_feed_download, //'MON_MENU' => poll_mini(0, BLOCK_POSITION__TOP_CENTRAL), )); return $tpl_news->parse(TRUE); } echo get_home_page(); //Envoi de la page /////////////////// // Derniere news // /////////////////// global $User, $Sql, $Cache, $Bread_crumb, $CONFIG_NEWS, $LANG, $Session; require_once('./news/news_begin.php'); $tpl_news = new Template('news/edito.tpl'); $n = 1; //pour le compteur $resultn = $Sql->query_while("SELECT id, idcat, title, contents, timestamp, img, alt, visible, user_id FROM " . PREFIX . "news WHERE visible = 1 ORDER BY timestamp DESC " . $Sql->limit(0,6), __LINE__, __FILE__); // limit compteur (depart,fin) while ($rown = $Sql->fetch_assoc($resultn)) { $pseudo_id_sql=$Sql->query_while("SELECT * FROM " . PREFIX . "member WHERE user_id ='".$rown['user_id']."'", __LINE__, __FILE__); $pseudo_id = $Sql->fetch_assoc($pseudo_id_sql); $idcat_icon = $Sql->query_array(PREFIX . "news_cat", "icon", "id", "WHERE id = '" . $rown['idcat'] . "' " . $Sql->limit(0, 1), __LINE__, __FILE__); // <====ici $tpl_news->assign_block_vars('l_news', array( 'N_ID' => $n, 'N_IDCAT' => $rown['idcat'] , 'N_LINK' => url('news/news.php?id=' . $rown['id'] . '&cat=' . $rown['idcat'], 'news/news-0-' . $rown['id'] . '+' . url_encode_rewrite($rown['title']) . '.php'), 'N_TITLE' => $rown['title'], 'N_TIMESTAMP' => gmdate_format('date_format_short', $rown['timestamp']), 'N_CONTENT' => (strlen( second_parse($rown['contents']) ) > 800 ) ? substr(second_parse($rown['contents']), 0, 800).' ... ' : $rown['contents'], 'N_IMG'=> (!empty($rown['img'])) ? second_parse_url($rown['img']) : '', 'N_ALT'=> $rown['alt'], 'N_USER_ID'=> $rown['user_id'], 'N_P_USER_ID'=> $pseudo_id['login'] , 'N_ICON_CAT'=> url("news/".$idcat_icon['icon']) , // <===ici 'N_ALT'=> $rown['alt'], )); $n++ ; // pas utile mais on sait jamais } $Sql->query_close($resultn); $Sql->query_close($pseudo_id); $tpl_news->parse(); require_once('./kernel/footer.php'); ?>
Dans le fichier index.php vous pouvez changer le nombre de news à afficher sur cette ligne (Ligne 84) :
Code PHP :
" . $Sql->limit(0,6), __LINE__, __FILE__); // limit compteur (depart,fin)
Il suffit de changer le "6" par le nombre de votre choix.
Toujours dans le fichier index.php, vous pouvez changer le nombre de caractère à afficher avant la news étendue sur cette ligne (Ligne 98) :
Code PHP :
Il est obligatoire de changer le chiffre deux fois .. "800" sur le fichier actuel.
Passons maintenant sur le edito.tpl à insérer dans ./news/templates/
Voici le code HTML :
Code HTML :
# START l_news # <div class="news_container"> <div class="news_top_l"></div> <div class="news_top_r"></div> <div class="news_top"> <span style="float:left;"><a class="news_title" href="{l_news.N_LINK}">{l_news.N_TITLE}</a></span></div><br> <div class="news_content">Le, {l_news.N_TIMESTAMP} Par <a href="/member/member.php?id={l_news.N_USER_ID}">{l_news.N_P_USER_ID}</a></div><br> <img src="{l_news.N_ICON_CAT}"><br> <br> <div class="news_content">{l_news.N_CONTENT}</div><br /><br /> <div class="spacer"></div> <div><a href='{l_news.N_LINK}' >[ Lire la suite ]</a></div> <br> <br> <div class="news_bottom_l"></div> <div class="news_bottom_r"></div> <div class="news_bottom"> </div> </div> <br /> # END l_news #
L'affichage peut varier selon vos autres modifications précédentes.
Voila le tutoriel en version BETA, et en attente de correction, ou complément Edité par m-ickael Le 26/02/2011 à 16h56
N'ai pas peur de corriger les citations en cas .. J'ai tenté de reprendre ce que m'a appris Saturnin
c'est pas un flux, mais une récupération directe a la db.
c'est ce qui permet de faire les manip librement sur les contenu récupéré
bien jouer m-ickael
c'est ce qui permet de faire les manip librement sur les contenu récupéré
bien jouer m-ickael
Accroche toi au clavier, je retire le shell...
Salut salut encor merci pour ce petit bijoux
Mais une question me tarode qui ce trouve etre :
Peux t'on faire un appel de la BDD mais seulement des news contenu dans
une seul categories ?
Cordalement ,Keyral
Mais une question me tarode qui ce trouve etre :
Peux t'on faire un appel de la BDD mais seulement des news contenu dans
une seul categories ?
Cordalement ,Keyral
il me semble que le sujet a était abordé dans le forum mais impossible de remettre la main dessus
Citation made in pegasetkc : "Sauvez un arbre mangez un castor"
Depuis que je connais Saturnin mon humour ressemble a cela : j'ai un string dans l'array
bonsoir,
oui c'est possible par la methode de ce sujet.
Il y a deja une restriction de la sorte pour ne ressortir que les news visible, il suffit de compléter la requette :
ou ta cat = 1 (pour idcat = 1 )
C'était bien la question ?
oui c'est possible par la methode de ce sujet.
Il y a deja une restriction de la sorte pour ne ressortir que les news visible, il suffit de compléter la requette :
Code PHP :
WHERE visible = 1 AND idcat = 1
ou ta cat = 1 (pour idcat = 1 )
C'était bien la question ?
Accroche toi au clavier, je retire le shell...
Tu as du mal lire ^^
Car il est écrit :
Passons maintenant sur le edito.tpl à insérer dans ./news/templates/
Voici le code HTML :
Donc c'est à toi de la créer ^^
Car il est écrit :
Passons maintenant sur le edito.tpl à insérer dans ./news/templates/
Voici le code HTML :
Code HTML :
# START l_news # <div class="news_container"> <div class="news_top_l"></div> <div class="news_top_r"></div> <div class="news_top"> <span style="float:left;"><a class="news_title" href="{l_news.N_LINK}">{l_news.N_TITLE}</a></span></div><br> <div class="news_content">Le, {l_news.N_TIMESTAMP} Par <a href="/member/member.php?id={l_news.N_USER_ID}">{l_news.N_P_USER_ID}</a></div><br> <img src="{l_news.N_ICON_CAT}"><br> <br> <div class="news_content">{l_news.N_CONTENT}</div><br /><br /> <div class="spacer"></div> <div><a href='{l_news.N_LINK}' >[ Lire la suite ]</a></div> <br> <br> <div class="news_bottom_l"></div> <div class="news_bottom_r"></div> <div class="news_bottom"> </div> </div> <br /> # END l_news #
Donc c'est à toi de la créer ^^
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie