private function build_keywords_view(Article $article)
 {
     $keywords = $article->get_keywords();
     $nbr_keywords = count($keywords);
     $this->view->put('C_KEYWORDS', $nbr_keywords > 0);
     $i = 1;
     foreach ($keywords as $keyword) {
         $this->view->assign_block_vars('keywords', array('C_SEPARATOR' => $i < $nbr_keywords, 'NAME' => $keyword->get_name(), 'URL' => ArticlesUrlBuilder::display_tag($keyword->get_rewrited_name())->rel()));
         $i++;
     }
 }
 private function generate_response()
 {
     $response = new SiteDisplayResponse($this->view);
     $graphical_environment = $response->get_graphical_environment();
     $graphical_environment->set_page_title($this->get_keyword()->get_name(), $this->lang['articles']);
     $graphical_environment->get_seo_meta_data()->set_description(StringVars::replace_vars($this->lang['articles.seo.description.tag'], array('subject' => $this->get_keyword()->get_name())));
     $graphical_environment->get_seo_meta_data()->set_canonical_url(ArticlesUrlBuilder::display_tag($this->get_keyword()->get_rewrited_name(), AppContext::get_request()->get_getstring('field', 'date'), AppContext::get_request()->get_getstring('sort', 'desc'), AppContext::get_request()->get_getint('page', 1)));
     $breadcrumb = $graphical_environment->get_breadcrumb();
     $breadcrumb->add($this->lang['articles'], ArticlesUrlBuilder::home());
     $breadcrumb->add($this->get_keyword()->get_name(), ArticlesUrlBuilder::display_tag($this->get_keyword()->get_rewrited_name(), AppContext::get_request()->get_getstring('field', 'date'), AppContext::get_request()->get_getstring('sort', 'desc'), AppContext::get_request()->get_getint('page', 1)));
     return $response;
 }