本文整理汇总了PHP中EB::setMeta方法的典型用法代码示例。如果您正苦于以下问题:PHP EB::setMeta方法的具体用法?PHP EB::setMeta怎么用?PHP EB::setMeta使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EB
的用法示例。
在下文中一共展示了EB::setMeta方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: display
/**
* Default display method for featured listings
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function display($tmpl = null)
{
// Set the meta tags for this page
EB::setMeta(META_ID_FEATURED, META_TYPE_VIEW);
// Add the RSS headers on the page
EB::feeds()->addHeaders('index.php?option=com_easyblog&view=featured');
// Add breadcrumbs on the site menu.
$this->setPathway('COM_EASYBLOG_FEATURED_BREADCRUMB');
// Get the model
$model = EB::model('Featured');
// Get a list of featured posts
$posts = $model->getPosts();
// Get the pagination
$pagination = $model->getPagination();
// Format the posts
$posts = EB::formatter('list', $posts);
// Set the page title
$title = EB::getPageTitle(JText::_('COM_EASYBLOG_FEATURED_PAGE_TITLE'));
$this->setPageTitle($title, $pagination, $this->config->get('main_pagetitle_autoappend'));
// Get the current url
$return = EBR::_('index.php?option=com_easyblog', false);
$this->set('return', $return);
$this->set('posts', $posts);
$this->set('pagination', $pagination);
parent::display('blogs/featured/default');
}
示例2: listings
/**
* Displays a list of blog posts from a specific team
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function listings()
{
// Get the team id that is being accessed now
$id = $this->input->get('id', 0, 'int');
$team = EB::table('TeamBlog');
$team->load($id);
if (!$id || !$team->id) {
return JError::raiseError(404, JText::_('COM_EASYBLOG_TEAMBLOG_INVALID_ID'));
}
// set meta tags for teamblog view
EB::setMeta($id, META_TYPE_TEAM);
$gid = EB::getUserGids();
$isMember = $team->isMember($this->my->id, $gid);
$team->isMember = $isMember;
$team->isActualMember = $team->isMember($this->my->id, $gid, false);
// Add rss feed link
if ($team->access == EBLOG_TEAMBLOG_ACCESS_EVERYONE || $team->isMember) {
$this->doc->addHeadLink($team->getRSS(), 'alternate', 'rel', array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'));
$this->doc->addHeadLink($team->getAtom(), 'alternate', 'rel', array('type' => 'application/atom+xml', 'title' => 'Atom 1.0'));
}
// check if team description is emtpy or not. if yes, show default message.
if (empty($team->description)) {
$team->description = JText::_('COM_EASYBLOG_TEAMBLOG_NO_DESCRIPTION');
}
// Set the breadcrumbs for this view
$this->setViewBreadcrumb('teamblog');
$this->setPathway($team->getTitle());
$limit = EB::call('Pagination', 'getLimit', array(EBLOG_PAGINATION_TEAMBLOGS));
// Retrieve the model
$model = EB::model('TeamBlogs');
$posts = $model->getPosts($team->id, $limit);
$posts = EB::formatter('list', $posts);
// Get the pagination
$pagination = $model->getPagination();
// Retrieve team's information
$members = $model->getTeamMembers($team->id);
// Determines if the team blog is featured
$team->isFeatured = EB::isFeatured('teamblog', $team->id);
// Set the page title
$title = EB::getPageTitle($team->title);
$this->setPageTitle($title, $pagination, $this->config->get('main_pagetitle_autoappend'));
// Check if subscribed
$isTeamSubscribed = $model->isTeamSubscribedEmail($team->id, $this->my->email);
// Get the current url
$return = $team->getPermalink();
$this->set('return', $return);
$this->set('team', $team);
$this->set('members', $members);
$this->set('pagination', $pagination->getPagesLinks());
$this->set('posts', $posts);
$this->set('isTeamSubscribed', $isTeamSubscribed);
parent::display('teamblogs/item');
}
示例3: listings
/**
* Displays a list of blog posts on the site filtered by a category.
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function listings()
{
// Retrieve sorting options
$sort = $this->input->get('sort', $this->config->get('layout_postorder'), 'cmd');
$id = $this->input->get('id', 0, 'int');
// Try to load the category
$category = EB::table('Category');
$category->load($id);
// If the category isn't found on the site throw an error.
if (!$id || !$category->id) {
return JError::raiseError(404, JText::_('COM_EASYBLOG_CATEGORY_NOT_FOUND'));
}
// Set the meta description for the category
EB::setMeta($category->id, META_TYPE_CATEGORY);
// Set a canonical link for the category page.
$this->canonical($category->getExternalPermalink());
// Get the privacy
$privacy = $category->checkPrivacy();
if ($privacy->allowed || EB::isSiteAdmin() || !$this->my->guest && $this->config->get('main_allowguestsubscribe')) {
$this->doc->addHeadLink($category->getRSS(), 'alternate', 'rel', array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'));
$this->doc->addHeadLink($category->getAtom(), 'alternate', 'rel', array('type' => 'application/atom+xml', 'title' => 'Atom 1.0'));
}
// Set views breadcrumbs
$this->setViewBreadcrumb($this->getName());
// Set the breadcrumb for this category
if (!EBR::isCurrentActiveMenu('categories', $category->id)) {
// Always add the final pathway to the category title.
$this->setPathway($category->title, '');
}
//get the nested categories
$category->childs = null;
// Build nested childsets
EB::buildNestedCategories($category->id, $category, false, true);
// Parameterize initial subcategories to display. Ability to configure from backend.
$nestedLinks = '';
$initialLimit = $this->app->getCfg('list_limit') == 0 ? 5 : $this->app->getCfg('list_limit');
if (count($category->childs) > $initialLimit) {
$initialNestedLinks = '';
$initialRow = new stdClass();
$initialRow->childs = array_slice($category->childs, 0, $initialLimit);
EB::accessNestedCategories($initialRow, $initialNestedLinks, '0', '', 'link', ', ');
$moreNestedLinks = '';
$moreRow = new stdClass();
$moreRow->childs = array_slice($category->childs, $initialLimit);
EB::accessNestedCategories($moreRow, $moreNestedLinks, '0', '', 'link', ', ');
// Hide more nested links until triggered
$nestedLinks .= $initialNestedLinks;
$nestedLinks .= '<span class="more-subcategories-toggle" data-more-categories-link> ' . JText::_('COM_EASYBLOG_AND') . ' <a href="javascript:void(0);">' . JText::sprintf('COM_EASYBLOG_OTHER_SUBCATEGORIES', count($category->childs) - $initialLimit) . '</a></span>';
$nestedLinks .= '<span class="more-subcategories" style="display: none;" data-more-categories>, ' . $moreNestedLinks . '</span>';
} else {
EB::accessNestedCategories($category, $nestedLinks, '0', '', 'link', ', ');
}
$catIds = array();
$catIds[] = $category->id;
EB::accessNestedCategoriesId($category, $catIds);
$category->nestedLink = $nestedLinks;
// Get the category model
$model = EB::model('Category');
// Get total posts in this category
$category->cnt = $model->getTotalPostCount($category->id);
// Get teamblog posts count
// $teamBlogCount = $model->getTeamBlogCount($category->id);
$limit = EB::call('Pagination', 'getLimit', array(EBLOG_PAGINATION_CATEGORIES));
// Get the posts in the category
$data = $model->getPosts($catIds, $limit);
// Get the pagination
$pagination = $model->getPagination();
// Get allowed categories
$allowCat = $model->allowAclCategory($category->id);
// Format the data that we need
$posts = array();
// Ensure that the user is really allowed to view the blogs
if (!empty($data)) {
$posts = EB::formatter('list', $data);
}
// Check isCategorySubscribed
$isCategorySubscribed = $model->isCategorySubscribedEmail($category->id, $this->my->email);
// If this category has a different theme, we need to output it differently
if (!empty($category->theme)) {
$this->setTheme($category->theme);
}
// Set the page title
$title = EB::getPageTitle(JText::_($category->title));
$this->setPageTitle($title, $pagination, $this->config->get('main_pagetitle_autoappend'));
// Set the return url
$return = base64_encode($category->getExternalPermalink());
// Get the pagination
$pagination = $pagination->getPagesLinks();
$this->set('allowCat', $allowCat);
$this->set('category', $category);
$this->set('sort', $sort);
$this->set('posts', $posts);
//.........这里部分代码省略.........
示例4: tag
/**
* Displays blog listings by specific tags on the site
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function tag()
{
// Get the tag id
$id = $this->input->get('id', '', 'default');
// Add noindex for tags listing by default
$this->doc->setMetadata('robots', 'noindex,follow');
// Load the tag object
$tag = EB::table('Tag');
$tag->load($id);
// The tag could be a permalink
if (!$tag->id) {
$tag->load($id, true);
}
// Set page title
$this->setPageTitle($tag->getTitle(), '', $this->config->get('main_pagetitle_autoappend'));
// set meta tags for tags view
EB::setMeta(META_ID_TAGS, META_TYPE_VIEW, $tag->getTitle() . ' - ' . EB::getPageTitle($this->config->get('main_title')));
// Set breadcrumb
if (!EasyBlogRouter::isCurrentActiveMenu('tags')) {
$this->setPathway(JText::_('COM_EASYBLOG_TAGS_BREADCRUMB'), EBR::_('index.php?option=com_easyblog&view=tags'));
}
$this->setPathway($tag->getTitle());
// Get the blogs model
$blogModel = EB::model('Blog');
$tagModel = EB::model('Tags');
// Get the blog posts now
$rows = $blogModel->getTaggedBlogs($tag->id, false, '');
// Get the pagination
$pagination = $blogModel->getPagination();
// Get total number of private blog posts
$privateCount = 0;
// Get total number of team blog count
$teamblogCount = 0;
if ($this->my->guest) {
$privateCount = $tagModel->getTagPrivateBlogCount($id);
}
// Determines if we should get the team blog count
if (!$this->config->get('main_includeteamblogpost')) {
$teamblogCount = $tagModel->getTeamBlogCount($id);
}
// Format the blog posts using the standard list formatter
$posts = EB::formatter('list', $rows);
$return = base64_encode($tag->getPermalink());
$this->set('return', $return);
$this->set('tag', $tag);
$this->set('posts', $posts);
$this->set('pagination', $pagination);
$this->set('private', $privateCount);
$this->set('team', $teamblogCount);
parent::display('tags/item');
}
示例5: renderHeaders
/**
* Initializes the header of the html page
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function renderHeaders()
{
// Load meta data
EB::setMeta($this->id, META_TYPE_POST);
// If there's robots set on the page, initialize it
if ($this->robots) {
$this->doc->setMetaData('robots', $this->robots);
}
// If there's a copyright notice, add it into the header
if ($this->copyrights) {
$this->doc->setMetaData('rights', $this->copyrights);
}
// Determines if the user wants to print this page
$print = $this->input->get('print', 0, 'int');
// Add noindex for print view by default.
if ($print) {
$this->doc->setMetadata('robots', 'noindex,follow');
}
$postTitle = $this->title;
// If a custom title is set, we need to set them here
if (isset($this->custom_title) && !empty($this->custom_title)) {
$postTitle = $this->custom_title;
}
$this->doc->setTitle($postTitle);
// Get the page title
$title = EB::getPageTitle($this->config->get('main_title'));
if ($title) {
$this->doc->setTitle($postTitle . ' - ' . $title);
}
// Add opengraph tags if required.
EB::facebook()->addOpenGraphTags($this);
// Add Twitter card details on page.
EB::twitter()->addCard($this);
}
示例6: renderHeaders
/**
* Initializes the header of the html page
*
* @since 4.0
* @access public
* @param string
* @return
*/
public function renderHeaders()
{
$doc = JFactory::getDocument();
// Set meta tags for post
EB::setMeta($this->id, META_TYPE_POST);
// If there's robots set on the page, initialize it
if ($this->robots) {
$doc->setMetaData('robots', $this->robots);
}
// If there's a copyright notice, add it into the header
if ($this->copyrights) {
$doc->setMetaData('rights', $this->copyrights);
}
// Determines if the user wants to print this page
$print = JFactory::getApplication()->input->get('print', 0, 'int');
// Add noindex for print view by default.
if ($print) {
$doc->setMetadata('robots', 'noindex,follow');
}
$config = EB::config();
$title = EB::getPageTitle($config->get('main_title'));
if (empty($title)) {
$doc->setTitle($this->title);
} else {
$doc->setTitle($this->title . ' - ' . $title);
}
}