module homecustom : appel de last news
Skyler Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Skyler
- Inscrit le : 20/04/2008
J'utilise le module HomeCustom et je souhaiterai a la place des bloc flux mettre la last_news du module news.
Le hic c'est que je ne vois pas commentm'y prendre.
Peut on m'orienter?
D'avance merci
Skyler Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Skyler
- Inscrit le : 20/04/2008
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Skyler Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Skyler
- Inscrit le : 20/04/2008
Skyler Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Skyler
- Inscrit le : 20/04/2008
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Remplaces le contenu par :
Code PHP :
<?php /*################################################## * HomeCustomHomePageExtensionPoint.class.php * ------------------- * begin : August 25, 2012 * copyright : (C) 2012 Kevin MASSY * email : kevin.massy@phpboost.com * * ################################################### * * 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. * ###################################################*/ class HomeCustomHomePageExtensionPoint implements HomePageExtensionPoint { public function get_home_page() { return new DefaultHomePage($this->get_title(), $this->get_view()); } private function get_title() { return LangLoader::get_message('title', 'common', 'HomeCustom'); } private function get_view() { $template = new FileTemplate('HomeCustom/home.tpl'); $this->build_view($template); return $template; } private function build_view(View $template) { $row = PersistenceContext::get_querier()->select_single_row(PREFIX.'news', array('id', 'title', 'contents', 'timestamp'), 'ORDER BY timestamp DESC LIMIT 0,1 '); $date = new Date(DATE_TIMESTAMP, TIMEZONE_AUTO, $row['timestamp']); $template->put_all(array( 'U_LINK' => Url::to_absolute('/news/news.php?id=' . $row['id']), 'TITLE' => $row['title'], 'CONTENT' => $row['contents'], 'DATE' => $date->format(DATE_FORMAT_TEXT_LONG) )); } } ?>
Dans ton tpl, tu utilises les variables U_LINK, TITLE, CONTENT et DATE. Exemple :
FRED_80 Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre FRED_80
- Inscrit le : 24/04/2010
- Site internet
Alors voila, j'ai voulus faire ce qui est indiqué ci-dessus à savoir avoir la dernière news dans la page d'accueil.
J'ai donc copié dans mon thème, dans les dossiers "modules/HomeCustom/phpboost" les fichiers "HomeCustomHomePageExtensionPoint.class.php" et "HomeCustomExtensionPointProvider.class.php".
J'ai effectuer les modification cité ci-dessus dans le fichier "HomeCustomHomePageExtensionPoint.class.php" :
Code TPL :
<?php /*################################################## * HomeCustomHomePageExtensionPoint.class.php * ------------------- * begin : August 25, 2012 * copyright : (C) 2012 Kevin MASSY * email : soldier.weasel@gmail.com * * ################################################### * * 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. * ###################################################*/ class HomeCustomHomePageExtensionPoint implements HomePageExtensionPoint { public function get_home_page() { return new DefaultHomePage($this->get_title(), $this->get_view()); } private function get_title() { return LangLoader::get_message('title', 'common', 'HomeCustom'); } private function get_view() { $template = new FileTemplate('HomeCustom/home.tpl'); $this->build_view($template); return $template; } private function build_view(View $template) { $row = PersistenceContext::get_querier()->select_single_row(PREFIX.'news', array('id', 'title', 'contents', 'timestamp'), 'ORDER BY timestamp DESC LIMIT 0,1 '); $date = new Date(DATE_TIMESTAMP, TIMEZONE_AUTO, $row['timestamp']); $template->put_all(array( 'U_LINK' => Url::to_absolute('/news/news.php?id=' . $row['id']), 'TITLE' => $row['title'], 'CONTENT' => $row['contents'], 'DATE' => $date->format(DATE_FORMAT_TEXT_LONG) )); } } ?>
Ensuite, dans le fichier "home.tpl" du dossier "HomeCustom", j'ai rajouter un bloc <div> comme indiqué également :
B'hein, heu ... J'ai rien sur ma page d'accueil personnalisée !
Aurais-je oublié quelques choses ?
Je précise que je suis en local et que je tourne sous la V4.02 avec le thème "Actiweb" de Myster.
Édité par FRED_80 Le 02/04/2013 à 18h04
Venez découvrir Le Site du NXT
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
FRED_80 Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre FRED_80
- Inscrit le : 24/04/2010
- Site internet
Il est visiblement sur la page d'accueil le module, puisque j'utilise le thème "Actiweb" et que ce dernier utilise ce module.
J'ai simplement placé mon <div> à la suite des flux de news, forum, ect ... déja présent sur la page d'accueil de ce thème.
Venez découvrir Le Site du NXT
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
ElenWii
FRED_80 Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre FRED_80
- Inscrit le : 24/04/2010
- Site internet
J'ai modifié le fichier "home.tpl" du dossier "HomeCustom" du thème.
Venez découvrir Le Site du NXT
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
ElenWii
babsolune Membre non connecté
-
Administrateur
- Voir le profil du membre babsolune
- Inscrit le : 16/05/2008
- Site internet
- Groupes :
-
Equipe Développement

Citation :
Que veut tu dire par définir le module en page d'accueil
dans l'administration de ton site /configuration/configuration générale sous la miniature du theme tu as une option "page de démarage du site" où il faut choisir "page d'accueil personnalisée" (scroll tout en bas)
Citation :
J'ai donc copié dans mon thème, dans les dossiers "modules/HomeCustom/phpboost" les fichiers "HomeCustomHomePageExtensionPoint.class.php" et "HomeCustomExtensionPointProvider.class.php".
alors... non, le portage dans le theme ne concerne que les tpl/css pas les fichiers php
donc la modif du HomeCustomHomePageExtensionPoint.class.php, tu la fais dans HomeCustom/phpboost/HomeCustomHomePageExtensionPoint.class.php et la modif du tpl tu la fais dans template/TONTHEME/module/HomeCustom/home.tpl
tu peux supprimer les fichiers php que tu as capié dans ton theme
Édité par babsolune Le 02/04/2013 à 20h59
FRED_80 Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre FRED_80
- Inscrit le : 24/04/2010
- Site internet
Merci de toutes ces précisions babsolune, j'y voit plus claire maintenant.
Je tenterai donc tous ça demain.
Et donc, oui, mon module est bien définit en page d'accueil perso.
Édité par FRED_80 Le 02/04/2013 à 23h19
Venez découvrir Le Site du NXT
Teki Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Teki
- Inscrit le : 17/02/2013
Dans le code qu' a donné ReidLos, il est préférable de modifier la requête (ligne 51) comme suit :
Code PHP :
$row = PersistenceContext::get_querier()->select_single_row(PREFIX.'news', array('id', 'title', 'contents', 'timestamp'), 'WHERE visible = 1 ORDER BY timestamp DESC LIMIT 0,1 ');
En effet, si le champ 'visible' n'est pas vérifié alors la dernière news affichée peut être une contribution non validée.
Edit : A modifier impérativement sur le site officiel, désolé de la gêne occasionnée :/
Édité par Teki Le 09/04/2013 à 20h44
"Je suis un mec simple, y'a pas plus compliqué que moi"
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
