Поиск страниц с другого домена используя протокол usel или API — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «При использовании протокола [http://help-dev.umi-cms.ru/chapter.XSLTTemplates.usel.html USEL], XML-шаблон поиска корневы…») |
Velross (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 15: | Строка 15: | ||
При использовании API Umi.Cms, поиск страниц на другом домене можно произвести с использование протокола | При использовании API Umi.Cms, поиск страниц на другом домене можно произвести с использование протокола | ||
− | [http://api.umi-cms.ru/ | + | [http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/proizvolnye_vyborki/selector/ Selector], сам код выборки будет примерно такой: |
<source lang="php"> | <source lang="php"> | ||
− | + | $pages = new selector('pages'); | |
− | + | $pages->where('domain')->equals(domain); // Если вместо слова 'domain' указать false, поиск будет во всех доменах | |
− | + | $pages->where('lang')->equals(lang); // Если вместо слова 'lang' указать false, поиск будет во всех доменах | |
− | + | ||
+ | foreach($pages as $page) { | ||
+ | echo "<a href='{$page->link}'>{$page->name}</a>\n"; | ||
+ | } | ||
+ | |||
+ | echo "Pages found: " . $pages->length; | ||
</source> | </source> | ||
− | + | '''domain''' - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам, если передать id домена, то поиск будет идти в указанном домене. <br/> | |
− | + | '''lang''' - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам, если передать id домена, то поиск будет идти в указанном домене. | |
+ | |||
+ | [[Категория:Написание кастомных макросов]] |
Текущая версия на 09:24, 30 апреля 2014
При использовании протокола USEL, XML-шаблон поиска корневых страниц другого домена должен быть следующим:
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target result="pages">
<domain>2</domain>
</target>
<option name="exclude-nested" value="1"/>
</selection>
где 2 - это id домена, а параметр exclude-nested отключает поиск вложенных страниц.
При использовании API Umi.Cms, поиск страниц на другом домене можно произвести с использование протокола
Selector, сам код выборки будет примерно такой:
$pages = new selector('pages');
$pages->where('domain')->equals(domain); // Если вместо слова 'domain' указать false, поиск будет во всех доменах
$pages->where('lang')->equals(lang); // Если вместо слова 'lang' указать false, поиск будет во всех доменах
foreach($pages as $page) {
echo "<a href='{$page->link}'>{$page->name}</a>\n";
}
echo "Pages found: " . $pages->length;
domain - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам, если передать id домена, то поиск будет идти в указанном домене.
lang - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам, если передать id домена, то поиск будет идти в указанном домене.