Что такое Perelink.binet.pro?

advertisement
ТЗ на объединение модуля перелинковки Perelink.binet.pro с Similar
Entries
Нужно объединить сервис создания внутренней перелинковки для сайтов Binet Pro с модулем
Similar Entries таким образом, чтобы часть ссылок выводилось из Binet Pro, часть – из Similar
Entries.
Что такое Perelink.binet.pro?
Это сервис для создании внутренней переликновки для сайтов. Смысл его в том, что она находит
похожие по содержанию страницы и дает возможность проставлять ссылки между ними.
У сервиса есть API. C его помощью можно получить доступ к найденным связям между
страницами. В итоге через этот сервис можно получить следующие данные: откуда, куда и с каким
текстом должна быть ссылка.
Под Друпал у этого сервиса уже есть готовый модуль (я его предоставлю). Нужно сделать модуль
который был делать его интеграцию с Similar Entries.
Как работает текущая перелинковка
Сейчас все работает следующим образом. Через Similar Entries выводятся 3 ссылки на похожие
статьи. Причем они представляют собой 1 views с 3 блоками. Это сделано для того, чтобы на 1
статью было 3 разных варианта ссылки (заголовок + 2 кастомных поля с текстом ссылки). В
зависимости от того, в каком блоке выводится ссылка (на каком месте – 1, 2 или 3), будет
различный текст.
Я предоставлю пример рабочего сайта – если что-то не понятно, можно будет посмотреть как это
работает в живую.
Кроме этого выводится одна дополнительная ссылка в блоке, генерируемом модулем
Perelink.binet.pro.
Что нужно сделать
Нужно чтобы если в сервисе Perelink.binet.pro доступна 1 или вообще ни одной ссылки для
данной страницы, то в блоках-вьюшках созданных через Similar Entries выводились их обычные
ссылки. Если же доступно 2 и более ссылок, то нужно чтобы они заменяли ссылки в блоках Similar
Entries. Причем сначала нужно заменять третий блок (если есть 2 ссылки), затем второй (если 3),
затем первый (если есть 4 ссылки).
Т.е. алгоритм такой:
Блок Similar Entries №3 показывает свое обычное содержание, если в сервисе Perelink.binet.pro 1
ссылка или меньше. Если ссылок в Perelink.binet.pro 2 и более, то в нем отображается 2-ая ссылка.
Блок Similar Entries №2 показывает свое обычное содержание, если в сервисе Perelink.binet.pro 2
ссылки или меньше. Если ссылок в Perelink.binet.pro 3 и более, то в нем отображается 3-ья ссылка.
Блок Similar Entries №1показывает свое обычное содержание, если в сервисе Perelink.binet.pro 3
ссылки или меньше. Если ссылок в Perelink.binet.pro 4, то в нем отображается 4-ая ссылка.
В данный момент более 4 ссылок быть не может. Но возможно в будущем у меня будут сайты с
большим количеством блоков Similar Entries (например 4). Алгоритм там будет такой-же, просто
блоков будет 4, а не 3.
Как сделать интеграцию
Как именно делать оставляю на ваше усмотрение (но прежде чем делать, алгоритм интеграции
нужно обсудить со мной, чтобы не возникло каких-либо ошибок).
Лично я вижу 2 варианта.
1. Модуль Perelink.binet.pro остается без изменений. Делается субмодуль для Views (или
просто какие-то специальные вьюшки) которые меняют содержание используемых сейчас
3 вьюшек по описанному выше алгоритму (т.е. показывают либо обычно содержание этой
вьюшки, либо ссылку из Perelink.binet.pro).
2. Создать субмодуль для Perelink.binet.pro таким образом, чтобы можно было создать 3
дополнительных блока-вьюшки. В итоге в зависимости от того, сколько есть ссылок в
Perelink.binet.pro для данной страницы выводить либо блок-вьюшку Similar Entries, либо
вместо нее блок-вьюшку со ссылкой Perelink.binet.pro.
Блок ссылки всегда представляет собой картинку + текстовая ссылка.
Download