Сигнатуры донорского сайта:
Чтобы добавить в Портатор работу с тем или иным донорским ресурсом, в файле ./data/settings.php в массив $sites нужно прописать домен этого донорского ресурса, как это проиллюстрировано в одном из предыдущих документов.
Далее папку с сигнатурами (носит имя домена сайта) нужно поместить внутрь папки ./data/donors/ - смотрите структуру скрипта.
Как явствует из этой структуры, сигнатура для донорского ресурса содержит три мелких файлика, которые можно рассматривать как расшифровку генома этого донора (его структуры и дизайна). С помощью сигнатуры возможно получить полезный контент любого документа (отделив его от дизайна) по любой тематике, охваченной сигнатурой.
Вам разрешается приложить руки только к одному из файлов сигнатуры- cats.php. Он имеет внутри себя всего один массив, например, такой:
$donor_cats=array(
"browse-CSS-1"=>"CSS",
"browse-DHTML-1"=>"DHTML",
# "browse-Direct_Mail-1"=>"Direct Mail",
);
Массив на самом деле большой, тут он урезан. Доступные действия:
- Помещение значка # перед строчкой массива исключает этот раздел донорского сайта из поля видимости Портатора.
В данном случае мы работаем с разделами CSS и DHTML, но не работаем с Direct Mail - Ключ элемента массива (до =>) трогать вообще нельзя.
Он нужен парсеру, не Вам. - А вот значение элемента массива (после =>) можно модифицировать.
Этим решаются сразу три независимых задачи :
- Значения CSS и DHTML становятся именами фолдеров Вашего Портатора.
Для удобоваримости они переводятся в нижний регистр: css и dhtml
Если значение элемента массива содержит символ, запрещённый в урлах, этот символ исключается, причём пробел всегда заменяется дефисом.
Если тут используются русские буквы, то они транслитерируются, что может породить не сильно осмысленное имя папки и некрасивый УРЛ.
Поэтому Вы можете задавать любое своё значение элемента массива на инглише- именно такое имя фолдера и получите. - Название категории на кнопке фолдера в дизайне Портатора по умолчанию равно значению элемента массива. Однако Вам может захотеться переименовать кнопку категории- делаете это так:
$donor_cats=array( "browse-CSS-1"=>"html-css [about CSS]", "browse-DHTML-1"=>"html-dhtml [Dynamic HTML]", # "browse-Direct_Mail-1"=>"Direct Mail", );То, что в квадратных скобках, становится именем соответствующей кнопки. В квадратных скобках уже можно применять русский язык.
Обратите внимание, что, согласно предыдущему пункту данной инструкции, мы произвели замену имени папки нашего Портатора с css (оно принудительно переводится в нижний регистр) на html-css, а с dhtml на html-dhtml - Когда донорских ресурсов много, Вам может понравиться мысль объединения новостей с нескольких донорских ресурсов по какой-то теме в одной папке. Либо не раскладывать содержимое категорий одного донорского ресурса по разным папкам, а слить в одну. Никаких проблем- объединим новости по каскадным таблицам стилей и динамическому HTML в одну категорию:
$donor_cats=array( "browse-CSS-1"=>"html [HTML технологии]", "browse-DHTML-1"=>"html [HTML технологии]", # "browse-Direct_Mail-1"=>"Direct Mail", );Понятное дело, что и с другими донорами можно поступать так же- вполне реально брать новости финансового рынка с десяти мест, и накапливать в одном ресурсе блогового типа, в одной папочке.
- Значения CSS и DHTML становятся именами фолдеров Вашего Портатора.
Резюмируя.
С помощью концепции сигнатур и редактирования обычного PHP массива любой из этих сигнатур Вам доступно конфигурирование Портатора для работы с разными донорами, настройка файловой структуры самого Портатора, прописка правил раскладки импортируемых статей по папкам Портатора, а также сопоставление каждой категории любого донорского ресурса определённой папке.
Влияние на интерфейс (назначение папкам имён) самое что ни на есть простое.
Сигнатуры донорских ресурсов приобретаются в шопе, но могут быть изготовлены на заказ.
Дополнительные возможности:
Поскольку донорский ресурс может быть любым, в том числе и с не очень корректным кодом, каждая сигнатура может быть дополнена правилами игнорирования тегов.
К примеру, донорский ресурс пихает в код документа комментарии управления гугловым ботом для АдСенса:
<!-- google_ad_section_start -->
<!-- google_ad_section_end -->
Вам эта радость не нужна совершенно, так как в Вашем движке портатора уже заложена генерация в нужных местах подобных тегов, и они будут конфликтовать с теми, что содержатся в контенте. Следовательно, импортированные комментарии нужно вырезать. Как и JavaScript код того же АдСенса- в подавляющем большинстве случаев он впендюрен прямо в текст заметки.
Бывает и так, что текст импортируемых артиклей какого-то донорского ресурса просто нашпигован ссылками перелинковки с другими страницами этого донора. Хоть движок Портатора и ставит внутрь тегов ссылок атрибут rel='nofollow', но Вам лично все эти уводящие ссылки совершенно ни к чему. Следовательно, в импортированном коде ссылки нужно давить.
И вообще тоскливо, когда дизайн на донорском ресурсе организован не традиционно, через каскадные таблицы стилей, а довольно дурным образом- через контейнеры <div> с атрибутами- отступами, полями, шириной-высотой...
В этом случае на текст в Вашем Портаторе будет больно смотреть. А чтоб не было мучительно больно, нужно дивы вырезать, сохраняя их содержимое.
Про всякие таблицы и картинки вообще отдельный разговор.
Итак, настройки универсальнаой резалки в файле cats.php любой сигнатуры:
# Тонкие настройки:
# Теги, которые в посте сохраняются. Возможные значения:
# a - ссылки
# img - изображения
# script - скрипты
# table - таблицы
# rem - комментарии
# div - контейнеры
# То, что хотите оставить при импорте контента, закавычивайте
# и перечисляйте через запятую внутри массива.
# Пример:
# $_s['safe']=array("a","table","img");
# Тут мы оставляем при импорте контента все таблицы, картинки и линки.
# Соответственно, скрипты, комментарии и дивы убираем.
# Всё просто.
Ниже этих комментариев Вы и определяете массив, как указано:
$_s['safe']=array("a");
- тут мы оставляем только теги линков, остальное срезаем подчистую.
Обратите внимание- в массив пишем не то, что вырезаем, а то, что оставляем.
Выделенный красным массив прописываем в файле cats.php сигнатуры донора. Всё.