当前位置: 首页>>代码示例>>PHP>>正文


PHP E::ModuleSitemap方法代码示例

本文整理汇总了PHP中E::ModuleSitemap方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ModuleSitemap方法的具体用法?PHP E::ModuleSitemap怎么用?PHP E::ModuleSitemap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在E的用法示例。


在下文中一共展示了E::ModuleSitemap方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getTopicsForSitemap

 /**
  * Список опубликованых топиков в открытых блогах (с кешированием)
  *
  * @param int $iPage
  *
  * @return array
  */
 public function getTopicsForSitemap($iPage = 0)
 {
     $sCacheKey = "sitemap_topics_{$iPage}_" . C::Get('plugin.sitemap.items_per_page');
     if (false === ($aData = E::ModuleCache()->Get($sCacheKey))) {
         $aFilter = $this->GetNamedFilter('sitemap');
         $aTopics = E::ModuleTopic()->GetTopicsByFilter($aFilter, $iPage, C::Get('plugin.sitemap.items_per_page'), array('blog' => array('owner' => array())));
         $aData = array();
         $iIndex = 0;
         $aPriority = F::Array_Str2Array(C::Get('plugin.sitemap.type.topics.priority'));
         $nPriority = sizeof($aPriority) ? reset($aPriority) : null;
         $aChangeFreq = F::Array_Str2Array(C::Get('plugin.sitemap.type.topics.changefreq'));
         $sChangeFreq = sizeof($aChangeFreq) ? reset($aChangeFreq) : null;
         /** @var ModuleTopic_EntityTopic $oTopic */
         foreach ($aTopics['collection'] as $oTopic) {
             if ($aPriority) {
                 if (isset($aPriority[$iIndex])) {
                     $nPriority = $aPriority[$iIndex];
                 }
             }
             if ($aChangeFreq) {
                 if (isset($aChangeFreq[$iIndex])) {
                     $sChangeFreq = $aChangeFreq[$iIndex];
                 }
             }
             $aData[] = E::ModuleSitemap()->GetDataForSitemapRow($oTopic->getLink(), $oTopic->getDateLastMod(), $sChangeFreq, $nPriority);
             $iIndex += 1;
         }
         // тег 'blog_update' т.к. при редактировании блога его тип может измениться
         // с открытого на закрытый или наоборот
         E::ModuleCache()->Set($aData, $sCacheKey, array('topic_new', 'topic_update', 'blog_update'), C::Get('plugin.sitemap.type.topics.cache_lifetime'));
     }
     return $aData;
 }
开发者ID:Azany,项目名称:altocms,代码行数:40,代码来源:Topic.class.php

示例2: GetBlogsForSitemap

 /**
  * Список коллективных блогов (с кешированием)
  *
  * @param integer $iPage
  *
  * @return array
  */
 public function GetBlogsForSitemap($iPage = 1)
 {
     $sCacheKey = "sitemap_blogs_{$iPage}_" . C::Get('plugin.sitemap.items_per_page');
     if (false === ($aData = E::ModuleCache()->Get($sCacheKey))) {
         $aFilter = array('include_type' => $this->GetOpenBlogTypes());
         $aBlogs = E::ModuleBlog()->GetBlogsByFilter($aFilter, $iPage, C::Get('plugin.sitemap.items_per_page'), array('owner' => array()));
         $aData = array();
         /** @var ModuleBlog_EntityBlog $oBlog */
         foreach ($aBlogs['collection'] as $oBlog) {
             // TODO временем последнего изменения блога должно быть время его обновления (публикация последнего топика),
             $aData[] = E::ModuleSitemap()->GetDataForSitemapRow($oBlog->getLink(), null, C::Get('plugin.sitemap.type.blogs.changefreq'), C::Get('plugin.sitemap.type.blogs.priority'));
             // @todo страницы блога разбиты на подстраницы. значит нужно генерировать
             // ссылки на каждую из подстраниц
             // т.е. тянуть количество топиков блога
         }
         E::ModuleCache()->Set($aData, $sCacheKey, array('blog_new'), C::Get('plugin.sitemap.type.blogs.cache_lifetime'));
     }
     return $aData;
 }
开发者ID:Azany,项目名称:altocms,代码行数:26,代码来源:Blog.class.php

示例3: getUsersForSitemap

 /**
  * Список пользователей (с кешированием)
  *
  * @param integer $iPage
  *
  * @return array
  */
 public function getUsersForSitemap($iPage)
 {
     $iPerPage = C::Get('plugin.sitemap.users_per_page');
     $sCacheKey = "sitemap_users_{$iPage}_{$iPerPage}";
     if (false === ($aData = E::ModuleCache()->Get($sCacheKey))) {
         $aFilter = array('activate' => 1);
         $aUsers = E::ModuleUser()->GetUsersByFilter($aFilter, array(), $iPage, $iPerPage);
         $aData = array();
         /** @var ModuleUser_EntityUser $oUser */
         foreach ($aUsers['collection'] as $oUser) {
             // профиль пользователя
             $aData[] = E::ModuleSitemap()->GetDataForSitemapRow($oUser->getProfileUrl(), $oUser->getDateLastMod(), C::Get('plugin.sitemap.type.users.profile.changefreq'), C::Get('plugin.sitemap.type.users.profile.priority'));
             // публикации пользователя
             $aData[] = E::ModuleSitemap()->GetDataForSitemapRow($oUser->getUserTopicsLink(), null, C::Get('plugin.sitemap.type.users.my.changefreq'), C::Get('plugin.sitemap.type.users.my.priority'));
             // комментарии пользователя
             $aData[] = E::ModuleSitemap()->GetDataForSitemapRow($oUser->getUserCommentsLink(), $oUser->getDateCommentLast(), C::Get('plugin.sitemap.type.users.comments.changefreq'), C::Get('plugin.sitemap.type.users.comments.priority'));
             E::ModuleCache()->Set($aData, $sCacheKey, array('user_new', 'user_update'), C::Get('plugin.sitemap.type.users.cache_lifetime'));
         }
     }
     return $aData;
 }
开发者ID:Azany,项目名称:altocms,代码行数:28,代码来源:User.class.php

示例4: _getSitemapLastmod

 protected function _getSitemapLastmod($sType, $iPage)
 {
     if ($iPage < 1) {
         $iPage = 1;
     }
     return E::ModuleSitemap()->GetLastMod($sType, $iPage);
 }
开发者ID:Azany,项目名称:altocms,代码行数:7,代码来源:ActionSitemap.class.php


注:本文中的E::ModuleSitemap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。