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


PHP Sitemap::manualOrder方法代码示例

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


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

示例1: sortByField

    /**
     * Осуществляет сортировку по определенному полю у конкретного документа
     */
    public static function sortByField($nId, $szDocumentName, $szFieldName, $bAsc = true)
    {
        //
        $nId = IntegerHelper::toNatural($nId);
        $szDocumentName = \Faid\DB::escape($szDocumentName);
        $szFieldName = \Faid\DB::escape($szFieldName);
        $bAsc = intval($bAsc);
        //
        // Получаем всех детей элемента, которые имеют указанный документ в кач. имени
        //
        $szTable = call_user_func([$szDocumentName, 'getTableName']);
        $sql = <<<SQL
\tSELECT `sitemap`.id,`sitemap`.document_id
\tFROM `%s` as `sitemap` 
\tINNER JOIN `%s` as `document` 
\tON `sitemap`.`parent` = %d and `sitemap`.document_id = `document`.id and `sitemap`.document_name = "%s" 
\tORDER BY `document`.%s %s
SQL;
        $sql = sprintf($sql, SITEMAP_TABLE, $szTable, $nId, $szDocumentName, $szFieldName, $bAsc ? ' ASC' : ' DESC');
        $aDocumentsData = DB::query($sql);
        // Получаем всех остальных детей
        $sql = 'SELECT * FROM `%s` WHERE `parent`="%d" and STRCMP(`document_name`,"%s") <> 0 ORDER by `order`';
        $sql = sprintf($sql, SITEMAP_TABLE, $nId, $szDocumentName);
        $aOtherData = DB::query($sql);
        // Выстраиваем детей совмещаем массивы, неотсортированные элементы остаются на своих местах
        $aResult = array();
        $nOrder = 0;
        while (sizeof($aDocumentsData) > 0 || sizeof($aOtherData) > 0) {
            if (!empty($aOtherData) && $aOtherData[0]['order'] == $nOrder) {
                $aElement = array_shift($aOtherData);
                $aResult[] = $aElement['id'];
            } else {
                //
                $aElement = array_shift($aDocumentsData);
                $aResult[] = $aElement['id'];
            }
            $nOrder++;
        }
        //
        Sitemap::manualOrder($nId, $aResult);
    }
开发者ID:gudwin,项目名称:extasy,代码行数:44,代码来源:sort.php

示例2: orderMoveDown

 /**
  *
  */
 public function orderMoveDown($id, $nPage = 0)
 {
     $this->nPage = intval($nPage);
     $aInfo = Sitemap_Sample::get($id);
     if (empty($aInfo) || !$this->checkSecurity($aInfo['id'], $aInfo['parent'])) {
         print 'No';
         die;
     }
     $aItem = Sitemap_PagesOperations::selectChildWithoutAdditional($aInfo['parent']);
     $aSort = array();
     $bMoved = false;
     foreach ($aItem as $row) {
         if (sizeof($aSort) > 0 && $aSort[sizeof($aSort) - 1] == $aInfo['id'] && !$bMoved) {
             $nOld = array_pop($aSort);
             $aSort[] = $row['id'];
             $aSort[] = $nOld;
             $bMoved = true;
         } else {
             $aSort[] = $row['id'];
         }
     }
     Sitemap::manualOrder($aInfo['parent'], $aSort);
     $this->nParent = $aInfo['parent'];
     $this->getInformation();
     $this->getData();
     $this->outputDataTable(CMSDesign::getInstance());
     die;
 }
开发者ID:gudwin,项目名称:extasy,代码行数:31,代码来源:data-list.php


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