Plusieurs mini modules
babsolune Membre non connecté
-
Administrateur
- Voir le profil du membre babsolune
- Inscrit le : 16/05/2008
- Site internet
- Groupes :
-
Equipe Développement
J'ai donc tenté le coup avec le module Articles et ça marche plutôt bien en front

http://prntscr.com/awxlrp
Mais... effet babso
, j'ai un retour d'erreur sur la page des menus concernant le construct et la récupération du nom des mini modules.Je le conçois mais par manque de niveau et d'exemple/doc, je n'arrive pas à l'élucider.
Vu que ça fonctionne en front, je suppose qu'il ne manque pas grand chose, mais les suppositions en prog...

les erreurs
Caché :
Code TEXT :
Notice : Undefined index: ArticlesTopView [0] /kernel/framework/phpboost/config/ModulesConfig.class.php:64 [0] /kernel/framework/phpboost/module/ModulesManager.class.php:141 - ModulesConfig->get_module(string) [1] /kernel/framework/phpboost/menu/module_mini/ModuleMiniMenu.class.php:75 - ModulesManager::get_module(string) [2] /kernel/framework/phpboost/menu/module_mini/ModuleMiniMenu.class.php:42 - ModuleMiniMenu->get_formated_title() [3] /articles/phpboost/ArticlesExtensionPointProvider.class.php:59 - ModuleMiniMenu->__construct() [4] /kernel/framework/phpboost/extension-provider/ExtensionPointProvider.class.php:79 - ArticlesExtensionPointProvider->menus(null) [5] /kernel/framework/phpboost/extension-provider/ExtensionPointProviderService.class.php:70 - ExtensionPointProvider->get_extension_point(string) [6] /kernel/framework/phpboost/menu/MenusProvidersService.class.php:51 - ExtensionPointProviderService->get_extension_point(string) [7] /kernel/framework/phpboost/menu/MenuService.class.php:375 - MenusProvidersService::get_extension_point() [8] /admin/menus/menus.php:114 - MenuService::update_mini_modules_list(boolean) [URL] /devel/pbt50-test/admin/menus/menus.php Notice : Undefined index: ArticlesLastArticles [0] /kernel/framework/phpboost/config/ModulesConfig.class.php:64 [0] /kernel/framework/phpboost/module/ModulesManager.class.php:141 - ModulesConfig->get_module(string) [1] /kernel/framework/phpboost/menu/module_mini/ModuleMiniMenu.class.php:75 - ModulesManager::get_module(string) [2] /kernel/framework/phpboost/menu/module_mini/ModuleMiniMenu.class.php:42 - ModuleMiniMenu->get_formated_title() [3] /articles/phpboost/ArticlesExtensionPointProvider.class.php:60 - ModuleMiniMenu->__construct() [4] /kernel/framework/phpboost/extension-provider/ExtensionPointProvider.class.php:79 - ArticlesExtensionPointProvider->menus(null) [5] /kernel/framework/phpboost/extension-provider/ExtensionPointProviderService.class.php:70 - ExtensionPointProvider->get_extension_point(string) [6] /kernel/framework/phpboost/menu/MenusProvidersService.class.php:51 - ExtensionPointProviderService->get_extension_point(string) [7] /kernel/framework/phpboost/menu/MenuService.class.php:375 - MenusProvidersService::get_extension_point() [8] /admin/menus/menus.php:114 - MenuService::update_mini_modules_list(boolean) [URL] /devel/pbt50-test/admin/menus/menus.php Notice : Undefined index: ArticlesLastArticles [0] /kernel/framework/phpboost/config/ModulesConfig.class.php:64 [0] /kernel/framework/phpboost/module/ModulesManager.class.php:141 - ModulesConfig->get_module(string) [1] /kernel/framework/phpboost/menu/module_mini/ModuleMiniMenu.class.php:75 - ModulesManager::get_module(string) [2] /admin/menus/menus.php:223 - ModuleMiniMenu->get_formated_title() [URL] /devel/pbt50-test/admin/menus/menus.php Notice : Undefined index: ArticlesTopView [0] /kernel/framework/phpboost/config/ModulesConfig.class.php:64 [0] /kernel/framework/phpboost/module/ModulesManager.class.php:141 - ModulesConfig->get_module(string) [1] /kernel/framework/phpboost/menu/module_mini/ModuleMiniMenu.class.php:75 - ModulesManager::get_module(string) [2] /admin/menus/menus.php:223 - ModuleMiniMenu->get_formated_title() [URL] /devel/pbt50-test/admin/menus/menus.php
ArticlesExtensionsPointProvider.class.php
Code PHP :
class ArticlesExtensionPointProvider extends ExtensionPointProvider { public function __construct() { parent::__construct('articles'); } public function home_page() { return new ArticlesHomePageExtensionPoint(); } public function comments() { return new CommentsTopics(array(new ArticlesCommentsTopic())); } public function css_files() { $module_css_files = new ModuleCssFiles(); $module_css_files->adding_always_displayed_file('articles_mini.css'); $module_css_files->adding_running_module_displayed_file('articles.css'); return $module_css_files; } public function menus() { return new ModuleMenus(array( new ArticlesTopViewModuleMiniMenu(), new ArticlesLastArticlesModuleMiniMenu() )); } public function feeds() { return new ArticlesFeedProvider(); } public function scheduled_jobs() { return new ArticlesScheduledJobs(); } public function search() { return new ArticlesSearchable(); } public function sitemap() { return new ArticlesSitemapExtensionPoint(); } public function tree_links() { return new ArticlesTreeLinks(); } public function url_mappings() { return new UrlMappings(array(new DispatcherUrlMapping('/articles/index.php'))); } }
ArticlesTopViewModuleMiniMenu.class.php
Code PHP :
class ArticlesTopViewModuleMiniMenu extends ModuleMiniMenu { public function get_default_block() { return self::BLOCK_POSITION__RIGHT; } public function get_menu_id() { return 'module-mini-articles-top-view'; } public function get_menu_title() { return LangLoader::get_message('articles.top.view', 'common', 'articles'); } public function is_displayed() { return ArticlesAuthorizationsService::check_authorizations()->read(); } public function get_menu_content() { //Create file template $tpl = new FileTemplate('articles/ArticlesTopView.tpl'); //Assign the lang file to the tpl $tpl->add_lang(LangLoader::get('common', 'articles')); $now = new Date(); $querier = PersistenceContext::get_querier(); $top_view = 1; $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.number_view DESC LIMIT 10 ', array( 'user_id' => AppContext::get_current_user()->get_id(), 'timestamp_now' => $now->get_timestamp() )); while($row = $results->fetch()) { $article = new Article(); $article->set_properties($row); $tpl->assign_block_vars('articles_items', $article->get_tpl_vars()); $top_view++; } return $tpl->render(); } }
ArticlesLastArticlesModuleMiniMenu.class.php
Code PHP :
class ArticlesLastArticlesModuleMiniMenu extends ModuleMiniMenu { public function get_default_block() { return self::BLOCK_POSITION__RIGHT; } public function get_menu_id() { return 'module-mini-articles-last-articles'; } public function get_menu_title() { return LangLoader::get_message('articles.last.articles', 'common', 'articles'); } public function is_displayed() { return ArticlesAuthorizationsService::check_authorizations()->read(); } public function get_menu_content() { //Create file template $tpl = new FileTemplate('articles/ArticlesLastArticles.tpl'); //Assign the lang file to the tpl $tpl->add_lang(LangLoader::get('common', 'articles')); $now = new Date(); $querier = PersistenceContext::get_querier(); $top_view = 1; $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 10 ', array( 'user_id' => AppContext::get_current_user()->get_id(), 'timestamp_now' => $now->get_timestamp() )); while($row = $results->fetch()) { $article = new Article(); $article->set_properties($row); $tpl->assign_block_vars('articles_items', $article->get_tpl_vars()); $top_view++; } return $tpl->render(); } }
-------------------------------------------
Edité le Jeudi 16 Juin 2016 à 13h48
Édité par babsolune Le 29/10/2016 à 10h42
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Je regarde.
Et je désactive la suppression du multi post sur le forum pour l'instant, c'est pas terrible vu que ça ne fait pas remonter le topic dans les messages non lus.
-------------------------------------------
Edité le Jeudi 16 Juin 2016 à 13h59
C'est un bug. Tu peux le remonter dans le bugtracker stp (impossibilité de créer plusieurs mini menus pour un module).
En effet ça ne pose un problème qu'à l'affichage dans la page de gestion des menus.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
