Поиск страниц с другого домена используя протокол usel или API — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 27: Строка 27:
 
echo "Pages found: " . $pages->length;
 
echo "Pages found: " . $pages->length;
 
</source>
 
</source>
'''domain''' - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам.  
+
'''domain''' - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам, если передать id домена, то поиск будет идти в указанном домене. <br/>
'''lang''' - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам.  
+
'''lang''' - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам, если передать id домена, то поиск будет идти в указанном домене.
Дополнительная информация по протоколу umiSelection: [http://api.umi-cms.ru/api_samples.selections.html Примеры использования]
+
 +
[[Категория:Написание кастомных макросов]]

Текущая версия на 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 домена, то поиск будет идти в указанном домене.