本文整理匯總了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);
}
示例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;
}