News sur page d' accueil personnalisée [Réglé]
Afficher les news
Créations de Modules
Visiteur
Boosteur Inactif
Nouvel utilisateur de PhpBoost, j' essaye de me dépatouiller avec un site sur lequel j' ai mis une page d' accueil personnalisé (avec l' aide du post de Saturnin sur le Wiki). J' ai bien le titre des News qui apparaissent comme le montre mon screen :

Seulement j' aimerai pouvoir afficher au moins quelques caractères des news, que l' on sache de quoi ça parle...
Une solution ou alors infaisable ?
Je ne sais pas si quelqu' un s' est déjà penché dessus. J' ai beau chercher sur votre site et celui de CSN je n' ai pas trouvé.
PS : Félicitations pour le projet PhpBoost. Simple, rapide, efficace.
D' avance merci.
Schyzo
Visiteur
Boosteur Inactif

je sais plus ou, mais le sujet existe.
c'est asser chi**er a faire, mais faisable.
enfin sa dépend de tes connaissance aussi.
edit : mais pas dans cette cat du forum par contre.
Édité par Visiteur Le 13/05/2011 à 16h13
Visiteur
Boosteur Inactif
Pas dans cette catégorie ? erf ^^
Je continue donc mes recherches alors.
Merci
Schyzo
KONA Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre KONA
- Inscrit le : 21/05/2006
- Site internet
Visiteur
Boosteur Inactif
Je ne trouve pas le post dont Saturnin a parlé. Beaucoup de pages sur les RSS mais rien sur comment afficher une partie du contenu des news..
Visiteur
Boosteur Inactif
a placer dans le module news : /news/edito.php
Code PHP :
<?php /*################################################## * index.php * aditif au module news ###################################################*/ // 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 FROM " . PREFIX . "news ORDER BY timestamp DESC " . $Sql->limit(5, 1), __LINE__, __FILE__); // limit compteur (depart,fin) while ($rown = $Sql->fetch_assoc($resultn)) { $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']), 'N_TITLE' => $rown['title'], 'N_TIMESTAMP' => gmdate_format('date_format_short', $rown['timestamp']), 'N_CONTENT' => substr($rown['contents'], 150), 'N_IMG'=> (!empty($rown['img'])) ? '<img src="'.second_parse_url($rown['img']).'" alt="'.$rown['alt'].'">' : '', 'N_ALT'=> $rown['alt'], )); $n++ ; // pas utile mais on sait jamais } $Sql->query_close($resultn); $tpl_news->parse(); require_once('./kernel/footer.php'); ?>
il faut le tpl qui vas avec dans /news/edito.tpl :
Code TPL :
# IF C_NEWS_EDITO #
<div class="news_container">
<div class="news_top_l"></div>
<div class="news_top_r"></div>
<div class="news_top">
<div style="float:left;padding-left:30px;"><h3 class="title">{TITLE}</h3></div>
</div>
<div class="news_content">
{CONTENTS}
</div>
<div class="news_bottom_l"></div>
<div class="news_bottom_r"></div>
<div class="news_bottom"></div>
</div>
# ENDIF #
# 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;padding-left:5px;">
<a class="news_title" href="{l_news.N_LINK}">{l_news.N_TITLE}</a>
</span>
</div>
<div class="news_content">
{l_news.N_IMG}
{l_news.N_CONTENTS}
<div class="spacer"></div>
</div>
<div class="news_bottom_l"></div>
<div class="news_bottom_r"></div>
<div class="news_bottom">
<span style="float:right">{l_news.TIMESTAMP}</span>
</div>
</div>
# END l_news #
Ya surement du taf la dessus, c'est un truc récup dans un coin de mon disque dur, et a première vu sa semble pas fini.
Visiteur
Boosteur Inactif
Je teste ça dès que j' ai le temps et je viens me plaindre ensuite xD
Bonne soirée à tous !
Schyzo
Visiteur
Boosteur Inactif
Page blanche lorsque je vais sur mon edito.php ^^
C' est normal ? xD
J' ai placé le php et le tpl dans root/news c' est bien ça ?
Édité par Visiteur Le 13/05/2011 à 23h21
Visiteur
Boosteur Inactif

tu compte utiliser l'edito ?
ton index tu veut quoi dessus hors mis les news ? ?
edit : j'ai retrouver le fil du sujet (désolé c'est sur CsN.)
Édité par Visiteur Le 14/05/2011 à 13h06
Visiteur
Boosteur Inactif
Je viens d' essayer en faisant exactement la procèdure indiqué sur le forum de CSN mais toujours pareil, page blanche. Aucune erreur indiquée, rien. J' ai beau chercher je ne comprend pas... Pourtant d' après les posts ça a l' air de fonctionner.. J' ai juste pas de chance ?

Edit : Oui j' aimerai utiliser l' edito comme je l' utilise maintenant.
Dessus il y a les dernières news, derniers articles du wiki, derniers tutos, messages du forum et une iframe contenant un calendrier d' event..
Merci
Re-Edit : Je viens d' arriver à peu près à ce que je voulais. Les news sont affichées correctement, tout ce que je voulais est présent (forum calendrier etc), par contre, tout est en double! (sauf les news) :

Une idée de la cause ?
Voici le contenu de mon index.php :
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_forum = Feed::get_parsed("forum", DEFAULT_FEED_NAME, 0, FALSE, 5, 0); $contents_feed_articles = Feed::get_parsed("articles", DEFAULT_FEED_NAME, 0, FALSE, 8, 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_forum' => $contents_feed_forum, 'feed_articles' => $contents_feed_articles // 'MON_MENU' => poll_mini(0, BLOCK_POSITION__TOP_CENTRAL), )); return $tpl_news->parse(TRUE); } 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(); echo get_home_page(); //Envoi de la page /////////////////// // Derniere news // /////////////////// require_once('./kernel/footer.php'); ?>
Et mon edito.tpl :
Code TPL :
# 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> <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> # END l_news # <div class="news_container" style="float:left;width:49%;"> <div class="news_top_l"></div> <div class="news_top_r"></div> <div class="news_top"> <div><h3 class="title"> Derniers succès ajoutés</h3></div> </div> <div class="news_content"> {feed_wiki}</div> <div class="news_bottom_l"></div> <div class="news_bottom_r"></div> <div class="news_bottom"></div> </div> <div class="news_container" style="float:right;width:49%;"> <div class="news_top_l"></div> <div class="news_top_r"></div> <div class="news_top"> <div><h3 class="title"> Derniers messages du forum</h3></div> </div> <div class="news_content"> {feed_forum}</div> <div class="news_bottom_l"></div> <div class="news_bottom_r"></div> <div class="news_bottom"></div> </div> <br> <div class="news_container" style="float:right;width:49%;"> <div class="news_top_l"></div> <div class="news_top_r"></div> <div class="news_top"> <div><h3 class="title"> Mini-Calendrier</h3></div> </div> <div class="news_content"> <iframe class="lcmini" id="lcmini" src="http://www.on-360.com/cal/lcmini.php" width="100%" height="233" scrolling="no"></iframe> </div> <div class="news_bottom_l"></div> <div class="news_bottom_r"></div> <div class="news_bottom"></div> </div> <div class="news_container" style="float:left;width:49%;"> <div class="news_top_l"></div> <div class="news_top_r"></div> <div class="news_top"> <div><h3 class="title"> Derniers Tutoriaux</h3></div> </div> <div class="news_content"> {feed_articles} </div> <div class="news_bottom_l"></div> <div class="news_bottom_r"></div> <div class="news_bottom"></div> </div>
Merci !
Édité par Visiteur Le 14/05/2011 à 18h20
Visiteur
Boosteur Inactif

surtout au niveau php, niveau tpl j'ai rien touché :
Code :
<?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');
global $User, $Sql, $Cache, $Bread_crumb, $CONFIG_NEWS, $LANG, $Session;
require_once('./news/news_begin.php');
$tpl_news = new Template('news/edito.tpl');
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_forum = Feed::get_parsed("forum", DEFAULT_FEED_NAME, 0, FALSE, 5, 0);
$contents_feed_articles = Feed::get_parsed("articles", DEFAULT_FEED_NAME, 0, FALSE, 8, 0);
//mise en variable pour tpl et position du tpl
$tpl_news->assign_vars( array(
'C_NEWS_EDITO' => true,
'CONTENTS' => second_parse($CONFIG_NEWS['edito']) . 'plop',
'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_forum' => $contents_feed_forum,
'feed_articles' => $contents_feed_articles
// 'MON_MENU' => poll_mini(0, BLOCK_POSITION__TOP_CENTRAL),
));
$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');
?>
par contre j'ai pas vu l'edito ?¿
il faut que tu reprenne les var tpl
1) le switch (pas bien utile mais bon
)2) les variable elle meme : TITLE, CONTENTS ...
Les feed c'est bon,

si tu en a pas besoin on peut epurer ou laisse, on prend celui du cache

on sait jamais sa peut venir
Visiteur
Boosteur Inactif
Ca marche au poil! juste de la mise en page au niveau tpl et ça sera parfait.
Merci de ton aide, ça fait plaisir de voir qu' il y a encore des gens qui s' investissent sans but lucratif ^^
J' espère que j' aurai l' occasion d' utiliser le peu de connaissances que j' ai pour aider.
A bientôt pour une autre help

Edit : Sinon l' edito je ne l' affiche pas. je veux juste une page avec les news et quelques trucs que j' ai cité au dessus.
Schyzo
Édité par Visiteur Le 14/05/2011 à 23h38
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Citation :
ça fait plaisir de voir qu' il y a encore des gens qui s' investissent sans but lucratif 

Il y en a, la preuve, tu travail avec un CMS qui a été fait par des personnes (qui ont également des contraintes : études, travail, ... à coté) sans rien demander en retour
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
