Плагин "Объекты по теме " v1.0.0

4579
Всем привет!
Плагин "Объекты по теме " v1.0.0 для InstantCMS 1.10.1. Выводит обекты с компонента ИнстантМапс на странице просмотра поста блога, статьи или фото. Объекты подбираются по совпадающим тегам.

Шутка
Предистория. Как говорится, по просьбам трудящихся.
Описывать не буду, ибо весь функционал подобен плагину "Видеоролики по темам". Кроме полнотекстового поиска. В БД, в таблице объектов мапса нет fulltext-индексов, поэтому подбор возможен только по тегам.

Внутри архива есть инструкция, скачиваем, читаем, устанавливаем и настраиваем.

Скрытый текст виден только зарегистрированным пользователям


Приятного пользования!

ЗЫ. Досконально тестировать времени не было. Что-то в последнее время со временем стало совсем туго. Весна. Поэтому, устанавливаем и тестим.


UPDATE 29.12.2013

Добавлена ссылка на скачивание архива для ICMS 1.10.3. Не работал featureCarousel из-за примененной в нем устаревшей функции live(). В файле jquery.featureCarousel.min.js функция live() заменена на on(). Авторы карусели не обновляют его под новые версии jQuery, поэтому пришлось пойти на такой шаг. Пользуемся на свой страх и риск. В любом случае, можно вообще убрать карусель или подключить другой в файле p_relobjects.tpl.
Скачиваем и заливаем с заменой. Обновлять плагин не надо. Просто замена файлов.
С наступающим Новым Годом всех!!!
Если вдруг не работает в ICMS 1.10.3., попробуйте в файле плагина строку 127
Код PHP:
  1. $sql = "SELECT item_id FROM cms_tags WHERE tag = '" . trim($tag) . "' AND target='map' LIMIT 5";
изменить на:
Код PHP:
  1. $sql = "SELECT item_id FROM cms_tags WHERE tag = '" . trim($tag) . "' AND target='maps' LIMIT 5";
Видимо, в последнем мапсе изменилось название цели тегов. Раньше было 'map', ныне 'maps'. До конца не уверен, поэтому менять в архиве пока не буду.
Плагин "Видеоролики по теме " v1.0.0 | Плагин "Стоп СпамБот" v.1.0.0
Комментарии (41)
proStavropol 29 марта 2013 в 16:53 0
Эх жаль, чуть репы не хватает. А так нужная штука, давно такую хотел.
А выводить можно только на странице просмотра поста блога, статьи или фото?? В объекты инстантмапса не воткнуть?
Clear 29 марта 2013 в 17:38 0
В объекты инстантмапса не воткнуть?
Воткнуть, для этого был другой плагин от Димитриусаищите там
proStavropol 29 марта 2013 в 19:35 0
Я купил у него, деньги на ветер, если бы знал то не купил бы. У меня структура другая.
А вот по тегам самое то что нужно. Может кто на почту скинуть плагин? [email protected]
Clear 29 марта 2013 в 22:01 +1
То что у вас структура другая то это честно говоря ваши проблемы. Понятно что пишется под дефолт а не под каждый шаблон. У меня лично всё отлично работает, без нареканий, так что или просите кого нибудь исправить или сами поправте. Деньги на ветер по вашему же НЕпредусмотрению или нежеланию подкорректировать.
Марат 29 марта 2013 в 22:26 0
Можете скачать. Понизил ограничение по репе.
Clear 29 марта 2013 в 17:40 0
Установил, блок выводит, и в коде всё показывает как надо, а визуально, не видно. Ссылку на пример в личку дал
Dorimen 29 марта 2013 в 19:00 0
А для 1.9 не сделаете?
letsgo 29 марта 2013 в 19:47 -1
Единственно что не понимаю - привязку к тегам. Теги это вообще ничто. Идеально по названию собирать релеватные. В целом плюс, ибо нужное направление.
Clear 29 марта 2013 в 21:55 0
ну по названию наверное сложно будет, а тут явно указал в статье тег "окна" в Объекте который занимается продажей окнами тоже такой же тег стоит "окна", он и покажется в статье. А если по заголовку то получиться так, фирма называется "Волгастрой" а статья про окна, как тут привяжешь ?
letsgo 29 марта 2013 в 22:35 -2
Чем же сложно по названию?) Есть название "Ресторан Устрицы в томатном соусе" - что мешает использовать для релеватности? Найдется обязательно похожий либо по слову ресторан, либо по устрицам, либо по соусу, а в тегах что? Одни и те же обьекты будут, это если ставишь везде их. Я давно отказался от тегов, в связи с лишним трудом и ненужностью их.
Clear 29 марта 2013 в 22:40 0
А как же быть если ресторан называется к примеру "Каролина" он же вообще не покажется нигде
letsgo 29 марта 2013 в 22:47 -2
Ресторан Каролина - так будет написано? Или кто то пишет просто Каролина?
Keep 29 марта 2013 в 23:21 0
У меня 2000 объектов без тегов, добавлять сейчас к каждому объекту теги это очень долго, плагин соответственно не выводится, а жаль.
letsgo 29 марта 2013 в 23:27 -2
Да, теги это лишнее. Марат большая просьба сделайте вывод по названию релевантному, как будет минутка свободная (или полчаса) :)
Марат 29 марта 2013 в 23:47 0
Честно, не думал, что плагин особо кому нужен. Просто была просьба человека сделать по тегам. Адаптировать "Видеоролики по теме" не составило труда. В "Видеоролики по теме" есть именно оба варианта(добавил в версии 1.10.1). В объектах оставил только по тегам, потому что нужные поля в таблице объектов в БД не имеют fulltext индексов. Без них полноценный поиск не возможен. Можно конечно же извратиться и написать поиск оператором LIKE. Например разбить заголовок на слова и искать вхождение при помощи LIKE. Но это нихт зер гуд, и даже совсем не гуд.
Второй вариант, вводить в поля нужные индексы. Но нужно будет лезть в БД. И опять же лишняя модификация системы.
Если нужно, могу по второму варианту сделать. Но не обещаю ) По времени и по настроению.
Clear 30 марта 2013 в 10:43 0
В этом случае я бы сделал для, так (может и грубо зато работает)
Скачал таблицу с названиями компаний из базы, и таблицу с тегами. Скопировал названия обьектов в с столбец с тегами c учетом ID. Заменил бы все пробелы с помощью Ctrl+F, на запятую, удалил бы таким же способом кавычки и тире если есть, где то может еще что подкорректировал, и залил бы обратно в базу эти новые теги. Как то так ))) Готово.
Clear 29 марта 2013 в 23:49 0
Ладно ситуации у всех разные, кому надо конечно лучше использовать и по названию и/или по тегам на выбор. Но это нужно дописать. А так если у вас 2000 объектов без тегов были заведены, то это плохо, теги вообще то нужны часто.
letsgo 30 марта 2013 в 00:52 -4
Не нужны теги, еще и вредны.
lezginka.ru 29 марта 2013 в 20:42 0
+
народ,кто установил,покажите в работе
Clear 29 марта 2013 в 21:58 0
я установил, но у меня не отображаются сами объекты, хотя блок выводит и в коде есть ссылки на объеты, но пользоатель их не видит, может конфликт со слайдером какой ?
Clear 29 марта 2013 в 22:17 0
В общем у меня вышло так, отключаю стили в плагине , показывает объекты, но криво естественно и без карусели, при подключении всё исчезает. Дальше не экспериментировал и не правил, времени пока нет.
Марат 29 марта 2013 в 22:47 0
Отписался в личку. js и php код работают. Действительно дело в вашем шаблоне и в стилях. Нужно править и подбирать эксперементально значения right(left) и top(bottom) в стилях.
Fuze 29 марта 2013 в 23:42 0
Марат:
в таблице объектов мапса нет fulltext-индексов
Что мешает добавить их?
В плагине в методе инсталлера
Код PHP:
  1. $inDB->query("ALTER TABLE `table` ADD FULLTEXT (`title`)");
Марат 29 марта 2013 в 23:49 0
Верно. Добавить можно. Но не думал, что это так необходимо )
Марат 29 марта 2013 в 23:54 +1
Да и потом, добавлю индексы. Потом выйдет обновление мапса и там будет запрос без проверки(без IGNORE). И не получится обновиться у некоторых и завалят они вопросами R2 )))
Ну, не люблю я это дело. Хаки, модификации... Как говорится, я не я и база(таблица) не моя )))
Fuze 30 марта 2013 в 00:17 0
Проблема может возникнуть только если R2 добавит данный индекс (при обновлении) без проверки его наличия, что маловероятно.
Проверку можно легко сделать, начав примерно так:
Код PHP:
  1. $result = $inDB->query("SHOW INDEX FROM `table`");
К тому же, если режим отладки выключен, то die(); не случится.

В общем смотрите сами)
Марат 30 марта 2013 в 00:33 0
Fuze:
Проблема может возникнуть только если R2 добавит данный индекс (при обновлении) без проверки его наличия, что маловероятно.
Да и я об этом же. Вероятность есть, поскольку в оригинале индексов нет. Да и не может же R2 следить и предугадывать, что там понаписали горе-кодеры к его карте )
Ну, раз народ просит(выше в комментах), придется дописать, полагаю ). Всё таки, конечный потребитель лучше знает, что нужно.
Def 30 марта 2013 в 00:05 0
а он учитывает город пользователя?) а то не правильно будет показывать не свой город)
Марат 30 марта 2013 в 00:35 0
Город не учитывается. Просто теги.
Марат 3 апреля 2013 в 07:37 0
Здесь был коммент от Олега, случайный вывод или по какому-то правилу. Прошу прощения, случайно удалил. В админке есть возможность выбора. Случайный вывод - выборка релевантных по тегам объектов перемешивается случайным образом. Если выбран не случайный вывод - первыми показываются более релевантные - совпадения по большему количеству тегов.
KS 30 марта 2013 в 07:00 0
Очень нужная штука! Спасибо! +
Dimson 1 апреля 2013 в 22:47 0
Я добавил и объекты по теме и видео по теме. Отображается что-то одно, что вперед идет...

Например, вконце com_content_read.tpl вставляем:

{* ============= "Объекты по теме" ======================== *}
{$article.rel_object}

{* ============= "Видеоролики по теме" ======================== *}
{$article.sim_video}

будут отображаться только объекты, если меняем местами, то будут видеоролики, а объектов не будет. Как вылечить?
Dimson 1 апреля 2013 в 23:09 0
Оказывается пересекаются стили feature-carousel.css у каждого плагина он свой
Марат 3 апреля 2013 в 07:33 +1
Для обеих разработок использован один и тот же слайдер. Если предполагаете совместное использование на одной странице, придется поменять слайдер. Делается это в файле шаблона и прикрутить не сложно.
Dimson 5 апреля 2013 в 22:26 0
Все получилось. Спасибо больше за плагины :)
Dorimen 15 августа 2013 в 22:28 0
Скажите, пожалуйста, на 1.9 будет работать?
Clear 29 декабря 2013 в 04:59 0
На версии 1.10.3 не работает ?
Марат 29 декабря 2013 в 16:35 +1
Добавил ссылку на скачивание для icms 1.10.3. Подробности в посте, в UPDATE 29.12.2013.
Dorimen 29 декабря 2013 в 17:52 0
Большое спасибо. А можно и по остальным похожих компонентам сделать обновление?
Марат 29 декабря 2013 в 19:07 +1
Что не работает, пишите в личку. Время будет, посмотрю. По двум отписался. По напоминалке проверю, отпишусь.
Единственное, по "Видеоролики по теме" нет тестовой площадки. Свои сайты, где стоит компонент, обновлять не буду. Наверняка, не будет работать карусель. Тогда можно просто заменить файл featureCarousel.min.js из данного плагина. Остальное не знаю как будет работать.
Марат 1 января 2014 в 14:07 0
Обновил UPDATE 29.12.2013. Дело в том, что у одного из пользователей плагин не работал. Выяснилось изменение названия целей тегов в новом мапсе.
Проверить не могу, так как у меня стоит коробочная версия мапса. Когда брал, случайно заказал не ту. Я его слегка подправил и поставил на 1.10.3. В компонентной версии видимо произошли какие-то изменения. Поэтому,если не показывается плагин попробуйте заменить строку 127 плагина, как указано в UPDATE 29.12.2013.