public function __construct($view, $title_page) { parent::__construct($view); $lang = LangLoader::get('common', 'news'); $this->set_title($lang['news']); $this->add_link(LangLoader::get_message('categories.management', 'categories-common'), NewsUrlBuilder::manage_categories()); $this->add_link(LangLoader::get_message('category.add', 'categories-common'), NewsUrlBuilder::add_category()); $this->add_link($lang['news.management'], NewsUrlBuilder::manage_news()); $this->add_link($lang['news.add'], NewsUrlBuilder::add_news()); $this->add_link(LangLoader::get_message('configuration', 'admin-common'), NewsUrlBuilder::configuration()); $env = $this->get_graphical_environment(); $env->set_page_title($title_page, $lang['news']); }
private function generate_response(View $tpl) { $news = $this->get_news(); $response = new SiteDisplayResponse($tpl); $graphical_environment = $response->get_graphical_environment(); $breadcrumb = $graphical_environment->get_breadcrumb(); $breadcrumb->add($this->lang['news'], NewsUrlBuilder::home()); if ($this->get_news()->get_id() === null) { $graphical_environment->set_page_title($this->lang['news.add'], $this->lang['news']); $breadcrumb->add($this->lang['news.add'], NewsUrlBuilder::add_news($news->get_id_cat())); $graphical_environment->get_seo_meta_data()->set_description($this->lang['news.add']); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::add_news($news->get_id_cat())); } else { $graphical_environment->set_page_title($this->lang['news.edit'], $this->lang['news']); $graphical_environment->get_seo_meta_data()->set_description($this->lang['news.edit']); $graphical_environment->get_seo_meta_data()->set_canonical_url(NewsUrlBuilder::edit_news($news->get_id())); $categories = array_reverse(NewsService::get_categories_manager()->get_parents($news->get_id_cat(), true)); foreach ($categories as $id => $category) { if ($category->get_id() != Category::ROOT_CATEGORY) { $breadcrumb->add($category->get_name(), NewsUrlBuilder::display_category($category->get_id(), $category->get_rewrited_name())); } } $category = $news->get_category(); $breadcrumb->add($news->get_name(), NewsUrlBuilder::display_news($category->get_id(), $category->get_rewrited_name(), $news->get_id(), $news->get_rewrited_name())); $breadcrumb->add($this->lang['news.edit'], NewsUrlBuilder::edit_news($news->get_id())); } return $response; }