Обмен ссылками в настоящее время является таким же стандартом, как карта сайта. Иногда он применяется для раскрутки, иногда для обмена с партнерами, и в редких случаях, для получения прибыли от рекламы. Основную работу в системе обмена ссылками выполняет административный модуль надстройки, который осуществляет проверку обратных ссылок, индексацию страниц в поисковой системе, заведует изменением параметров ссылок и проч., однако немаловажная часть - установка модуля отображения.
В настоящее время для этого написан модуль dslinks.inc. Во многом, этот модуль походит на аналогичный, для отображения новостей, dsnews.inc.
С этим модулем, отображение ссылок становится гораздо проще. Вот, к примеру, как может выглядеть скрипт отображения списка ссылок на сайте:
<? /** страница содержит скрипт отображения ссылок, зарегистрированных в системе
*/
$cat_template_pageid=24;//!< template for sections $link_template_pageid=23;//!< template for links
require_once (PLUGINPATH.'links/inc/dslinks.inc'); $dsLinksEx = new dsLinksEx(); // if (!isset($_GET['cat'])) echo dsLinksExGetCatSections($dsLinksEx,$cat_template_pageid); else echo dsLinksExGetList($dsLinksEx, $link_template_pageid, false, intval($_GET['cat']), 10);
?>
Если категорий ссылок нет, то можно вызвать dsLinkExGetList без параметра категории.
Данный скирпт использует два шаблона: шаблон для вывода категорий и шаблон для вывода ссылок.
Выглядеть эти шаблоны могут, например, так:
Каталоги
<p>Ссылки: <!--<LINKSITEM>--> <p><a href="{cat_url}">{cat_name}</a> ({link_count})</p> <!--</LINKSITEM>-->
Ссылки
<table cellspacing="0" cellpadding="2" width="100%" bgcolor="#666666" border="0"> <tbody> <!--<LINKSITEM>--> <tr> <td> <table height="100%" cellspacing="0" cellpadding="10" width="100%" bgcolor="#ffffff" border="0"> <tbody> <tr> <td width="100"><a target="_blank" href="{link_url}">{str_name}</a></td> <td>{descr} <p align="right"> {img}</p> </td> </tr> </tbody> </table> </td> </tr> <!--</LINKSITEM>--> </tbody> </table> <p>{pages_bar}</p>
Также, в отображение ссылок можно добавить поиск. Для этого скрипт нужно модифицировать таким образом:
<? /** страница содержит скрипт отображения ссылок, зарегистрированных в системе
*/
$cat_template_pageid=24;//!< template for sections $link_template_pageid=23;//!< template for links
require_once (PLUGINPATH.'links/inc/dslinks.inc'); $dsLinksEx = new dsLinksEx(); // for search: require_once "inc/ce.inc"; $searchfor = new dcGPC(); if (!$searchfor->load('searchlinks','P')) $searchfor = false; // if (isset($_GET['cat']) || $searchfor) { $catid = isset($_GET['cat'])?intval($_GET['cat']):false; $v['searchfor'] = ''; if ($searchfor) { $fe = new coFormElement('text',false,true/* value only */); $fe->import($searchfor); $v['searchfor'] = $fe->gethtml(); // добавление переменной для отображения } echo dsLinksExGetList($dsLinksEx, $link_template_pageid, $searchfor?$searchfor->data():false, $catid, 10, $v); } else echo dsLinksExGetCatSections($dsLinksEx,$cat_template_pageid);
?>
В шаблоне нужно добавить поле ввода поиска:
<p>Поиск:<form method=post><input type=text name="searchlinks" value="{searchfor}"><input type=submit value="Искать"></form>
|