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

Материал из Umicms
Перейти к:навигация, поиск
Строка 18: Строка 18:
 
<source lang="php">
 
<source lang="php">
 
$pages = new selector('pages');
 
$pages = new selector('pages');
$pages->where('domain')->equals(false); // Искать во всех доменах
+
$pages->where('domain')->equals(domain); // Если вместо слова 'domain' указать false, поиск будет во всех доменах
$pages->where('lang')->equals(false); // Искать во всех языковых версиях
+
$pages->where('lang')->equals(lang); // Если вместо слова 'lang' указать false, поиск будет во всех доменах
  
 
foreach($pages as $page) {
 
foreach($pages as $page) {
Строка 27: Строка 27:
 
echo "Pages found: " . $pages->length;
 
echo "Pages found: " . $pages->length;
 
</source>
 
</source>
 
+
'''domain''' - домен, в котором находится страница. По умолчанию используется текущий домен. Если передать false, поиск будет произведен по всем доменам.
 +
'''lang''' - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам.
 
Дополнительная информация по протоколу umiSelection: [http://api.umi-cms.ru/api_samples.selections.html Примеры использования]
 
Дополнительная информация по протоколу umiSelection: [http://api.umi-cms.ru/api_samples.selections.html Примеры использования]

Версия 09:21, 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, поиск будет произведен по всем доменам. lang - язык, в котором находится страница. По умолчанию используется текущий язык. Если передать false, поиск будет произведен по всем языкам. Дополнительная информация по протоколу umiSelection: Примеры использования