Créations de Modules [HomeLanding] Page d'accueil personnalisée avec administration version finale
Nom du module : HomeLanding
Description : Afficher une page d'accueil personnalisée paramétrable depuis l'administration
Téléchargement : HomeLanding
Configuration : l'administration du module se trouve dans l'onglet Contenu
Affichage d'un module complet sans distinction de catégorie : Articles - Calendrier(événements) - Contact - Téléchargement - Forum - Galerie - Livre d'or - Multimédia - News - Liens web(partenaires)
Affichage d'une seule catégorie d'un module : Articles - Téléchargement - News - Liens web(partenaires)
Positionnement :
Organisation de l'ordre d'affichage des modules sur la page d'accueil via la page "Position des éléments sur la page d'accueil" (système drag & drop).
A savoir :
Les modules ne s'affichent pas dans l'administration s'ils sont désactivés ou désinstallés
Les derniers commentaires ne s'affichent pas dans l'administration si l'url rewriting est désactivée
Crédits : Un grand merci à j1.seth pour l'optimisation du module qui permet d'ajouter facilement des modules (connaissances en PHP nécessaires) Edité par babsolune Le 26/04/2017 à 14h43
Description : Afficher une page d'accueil personnalisée paramétrable depuis l'administration
Téléchargement : HomeLanding
Configuration : l'administration du module se trouve dans l'onglet Contenu
- Gestion de l'affichage des colonnes de menus (gauche - droite - central haut - central bas - sur pied de page)
- Gestion du titre du module
- Gestion de l'affichage d'un carrousel paramétrable
- Gestion de l'affichage d'un édito
- Gestion de l'affichage des derniers commentaires (nombre de coms + nombre de caractères/com)
- Gestion de l'affichage d'un fil rss d'un site externe
Affichage d'un module complet sans distinction de catégorie : Articles - Calendrier(événements) - Contact - Téléchargement - Forum - Galerie - Livre d'or - Multimédia - News - Liens web(partenaires)
- Gestion de l'affichage
- Gestion du nombre d'entrées (max 100)
- Gestion du nombre de caractères par entrée (max 512)
Affichage d'une seule catégorie d'un module : Articles - Téléchargement - News - Liens web(partenaires)
- Gestion de l'affichage
- Gestion du choix de la catégorie
- Gestion du nombre d'entrées (max 100)
- Gestion du nombre de caractères par entrée (max 512)
- Gestion de l'affichage des sous-catégories
Positionnement :
Organisation de l'ordre d'affichage des modules sur la page d'accueil via la page "Position des éléments sur la page d'accueil" (système drag & drop).
A savoir :
Les modules ne s'affichent pas dans l'administration s'ils sont désactivés ou désinstallés
Les derniers commentaires ne s'affichent pas dans l'administration si l'url rewriting est désactivée
Crédits : Un grand merci à j1.seth pour l'optimisation du module qui permet d'ajouter facilement des modules (connaissances en PHP nécessaires) Edité par babsolune Le 26/04/2017 à 14h43
Donc ... dans l'idée, le but est de fournir un module page d'accueil qui récupère les entrées de plusieurs modules
L'admin permet de sélectionner les modules à afficher parmis Articles, News, Web(partenaires only), pour l'instant
Je suis confronté à une première erreur :
je souhaite gérer le nombre d'articles à afficher pour un module donné
le nombre défini dans l'admin est bien renvoyé, mais j'obtiens une erreur sql
erreur retournée
De ce que je crois comprendre, les quotes autour du nombre défini pour LIMIT posent problème, puisque si je devais définir cette limite en dur je ne mettrais que 5 au lieu de '5'
Est-ce que je comprends bien le message d'erreur ?
Est-ce que ma syntaxe est bonne ?
L'admin permet de sélectionner les modules à afficher parmis Articles, News, Web(partenaires only), pour l'instant
Je suis confronté à une première erreur :
je souhaite gérer le nombre d'articles à afficher pour un module donné
le nombre défini dans l'admin est bien renvoyé, mais j'obtiens une erreur sql
Code PHP :
private function articles_results() { $now = new Date(); $number = $this->config->get_articles_number(); $querier = PersistenceContext::get_querier(); $results = $querier->select('SELECT articles.*, member.*, com.number_comments, notes.average_notes, notes.number_notes, note.note, cat.rewrited_name AS rewrited_name_cat FROM ' . PREFIX . 'articles articles LEFT JOIN ' . PREFIX . 'articles_cats cat ON cat.id = articles.id_category LEFT JOIN ' . DB_TABLE_MEMBER . ' member ON member.user_id = articles.author_user_id LEFT JOIN ' . DB_TABLE_COMMENTS_TOPIC . ' com ON com.id_in_module = articles.id AND com.module_id = \'articles\' LEFT JOIN ' . DB_TABLE_AVERAGE_NOTES . ' notes ON notes.id_in_module = articles.id AND notes.module_name = \'articles\' LEFT JOIN ' . DB_TABLE_NOTE . ' note ON note.id_in_module = articles.id AND note.module_name = \'articles\' AND note.user_id = :user_id AND (published = 1 OR (published = 2 AND publishing_start_date < :timestamp_now AND (publishing_end_date > :timestamp_now OR publishing_end_date = 0))) ORDER BY articles.date_created DESC LIMIT :articles_number ', array( 'user_id' => AppContext::get_current_user()->get_id(), 'timestamp_now' => $now->get_timestamp(), 'articles_number' => $number )); return $results; }
erreur retournée
Code SQL :
invalid query. (ERRNO 1064) You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near ''5'' at line 10query: SELECT articles.*, member.*, com.number_comments, notes.average_notes, notes.number_notes, note.note, cat.rewrited_name AS rewrited_name_cat FROM phpboost_articles articles LEFT JOIN phpboost_articles_cats cat ON cat.id = articles.id_category LEFT JOIN phpboost_member member ON member.user_id = articles.author_user_id LEFT JOIN phpboost_comments_topic com ON com.id_in_module = articles.id AND com.module_id = 'articles' LEFT JOIN phpboost_average_notes notes ON notes.id_in_module = articles.id AND notes.module_name = 'articles' LEFT JOIN phpboost_note note ON note.id_in_module = articles.id AND note.module_name = 'articles' AND note.user_id = 1 AND (published = 1 OR (published = 2 AND publishing_start_date < 1457086358 AND (publishing_end_date > 1457086358 OR publishing_end_date = 0))) ORDER BY articles.date_created DESC LIMIT '5'
De ce que je crois comprendre, les quotes autour du nombre défini pour LIMIT posent problème, puisque si je devais définir cette limite en dur je ne mettrais que 5 au lieu de '5'
Est-ce que je comprends bien le message d'erreur ?
Est-ce que ma syntaxe est bonne ?
Ajout d'un édito
News et Download finalisés (affichage complet et/ou d'une catégorie)
Ajout du livre d'or
Calendrier fonctionnel
+ (admin) si une option est désactivée, les paramètres sont cachés
exemple: afficher le module articles décoché => nombre d'articles disparait
Admin : http://prntscr.com/acy2u5
Front : http://prntscr.com/acy2yn Edité par babsolune Le 09/03/2016 à 06h18
News et Download finalisés (affichage complet et/ou d'une catégorie)
Ajout du livre d'or
Calendrier fonctionnel
+ (admin) si une option est désactivée, les paramètres sont cachés
exemple: afficher le module articles décoché => nombre d'articles disparait
Admin : http://prntscr.com/acy2u5
Front : http://prntscr.com/acy2yn Edité par babsolune Le 09/03/2016 à 06h18
samerlipopette !! , j'en ch.. des ronds d'chapeau mais personne n'a dit que je n'y arriverai pas 
+ nombre d'événements à afficher
+ derniers commentaires (nb de com + nb de caractères/com)
+ affichage d'une seule catégorie du module web
+ limite du nombre de caractères pour:
module en version alpha dans le 1er post

+ nombre d'événements à afficher
+ derniers commentaires (nb de com + nb de caractères/com)
+ affichage d'une seule catégorie du module web
+ limite du nombre de caractères pour:
. les événements du calendrier
. le livre d'or
. les articles des modules articles, download, news, web quand on affiche seulement une catégorie
(lorsqu'on choisi le module complet, c'est l'admin du module qui défini cette limite)
. le livre d'or
. les articles des modules articles, download, news, web quand on affiche seulement une catégorie
(lorsqu'on choisi le module complet, c'est l'admin du module qui défini cette limite)
module en version alpha dans le 1er post
merci 
la colonne de gauche en front ou dans l'admin ?
si c'est en front, le module gère l'affichage des menus indépendamment de la config du site (menu gauche/droite/top-central/bottom-central/top-footer), c'est déjà implémenté dans le module mais je n'arrive toujours pas à gérer ça via l'admin. Par défaut (à l'install) tous ces menus sont désactivés.
Si tu veux récupérer les menus, il faut passer la valeur du menu que tu veux à "false" dans le fichier HomeLanding/phpboost/HomeLandingHomePageExtensionPoint.class.php
pour le forum, c'est prévu. Pour l'instant je n'ai pas encore mis le nez dedans, au pire j'utiliserai la récupération du feed

la colonne de gauche en front ou dans l'admin ?
si c'est en front, le module gère l'affichage des menus indépendamment de la config du site (menu gauche/droite/top-central/bottom-central/top-footer), c'est déjà implémenté dans le module mais je n'arrive toujours pas à gérer ça via l'admin. Par défaut (à l'install) tous ces menus sont désactivés.
Si tu veux récupérer les menus, il faut passer la valeur du menu que tu veux à "false" dans le fichier HomeLanding/phpboost/HomeLandingHomePageExtensionPoint.class.php
pour le forum, c'est prévu. Pour l'instant je n'ai pas encore mis le nez dedans, au pire j'utiliserai la récupération du feed
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie