Компонент "Избранное" для InstantCMS 2.x

+76
10.2K
Иллюстрация

Добрый день!

Уже почти как год назад появилась на свет InstantCMS 2. В то время я блуждал по просторам всемирной паутины в поисках подходящего фреймворка или системы управления контентом на базе которого (или которой =)) я смогу построить свой сайт, та система, которая будет максимально соответствовать моим требованиям и которая будет содержать в себе минимальный набор необходимого мне функционала.
Выбор мой пал на… другую CMS ((( LiveStreet. Я уже начал углубляться в ее изучение, как совершенно случайно узнал про нашу, всеми любимую, InstantCMS. На официальном сайте есть возможность добавления различного контента в список закладок пользователя, и в разделе дополнений есть соответствующий компонент. Я наивно полагал, что такой нужный функционал непременно должен быть в релизе второй ветки. Но, как мы все знаем, его там нет. Соответственно, к своему списку расширений я добавил еще один пункт )).



Совсем недавно, сначала в одной из тем на форуме, а затем и в своем блоге IngDesign выложил компонент "Закладки пользователей". Радости моей не было предела в тот прекрасный день! Я проинсталлил компонент на локалку и проверил его работоспособность — вторая волна счастья накрыла меня )). Закладки делали то, чего мне так не хватало для своего будущего проекта. Они великолепно выполняли свою функцию, но хотелось немножко большего...

В преддверии праздника я выбрал "свободную минуточку" и решил сделать форк закладок IngDesign'а. Но, чем дальше в лес, тем меньше исходного кода осталось не тронутым)), даже таблицы компонента в базе данных претерпели на столько существенные изменения, что их количество сократилось до одной, а, от её структуры, не тронутым осталось только поле "id". Собственно и сам код процентов на 90-95 полностью переписан. Поэтому можно говорить о другом самостоятельном компоненте.

Избранные записи пользователей

Основная функция компонента не изменилась, он по прежнему необходим пользователям, чтобы организовать быстрый доступ к понравившемся материалам сайта (статьям, постам в блогах, альбомов и др.) Также, по примеру Хабрахабр, я добавил возможность сохранять в "избранном" комментарии других пользователей. И реализовал всю эту "не легкую" работу через ajax.

В Панели управления настраивается какой тип контента и кому разрешить добавлять записи в избранное, включить или нет добавление комментариев в список избранного. Т.е. возможен более гибкий механизм работы компонента. При этом список избранных записей отображается на странице пользователя в том же виде, что и список контента в соответствующем разделе сайта, скажем так, нативный рендеринг😊Это позволяет показывать все картиночки, кнопочки и другую сопутствующую информацию, которая предполагалась для данного типа контента.

Более подробно познакомиться и пощупать компонент можно на демосайте (данные для входа внизу статьи).

Как установить.

Компонент устанавливается как любое стандартное дополнение InstantCMS 2.x — через панель администрирования в разделе компоненты нажимаем "Установить пакет дополнения", выбираем заранее скачанный файл и следуем инструкциям на экране. Более подробно можно почитать здесь: http://docs.instantcms.ru/manual/addons.

Компонент установлен в системе, но это еще не всё… Теперь надо прописать "указатели" чтобы пользователь мог взаимодействовать с компонентом. Для этого в файлы шаблона в необходимых местах вставляем ссылку:
  1. <?php echo $item['favorite_widget']; ?>
. Я считаю, что самое удобное место для размещения ссылки на добавление текущей записи в избранное — это инфобар (такая область, обычно внизу типов контента, где перечисляется информация об авторе материала, дате его создания, выводится виджет рейтинга, социальные кнопки и др.).

Иллюстрация
Поэтому
:

для вывода типов контента следующий код:
  1. <?php if ($ctype['is_favorites']){ ?>
  2. <div class="bar_item bi_favorite">
  3. <?php echo $item['favorite_widget']; ?>
  4. </div>
  5. <?php } ?>
прописываем в файлы шаблона (вставляем ссылку в div с классом "info_bar" перед выводом количества комментариев, или кнопок шаринга):
albums_list.tpl.php (вставляем код между 114 и 115 строками)
default_item.tpl.php (147-148 строки)
default_list.tpl.php (126-127 строки)
default_list_featured.tpl.php (126-127 строки)
default_list_tiles.tpl.php (110-111 строки)
default_list_table.tpl.php — для этого файла сначала вставляем код
  1. <?php if ($ctype['is_favorites']) { ?>
  2. <th> </th>
  3. <?php } ?>
между 24 и 25 строкой, а затем добавляем вот такой кусок кода:
  1. <?php if ($ctype['is_favorites']){ ?>
  2. <td class="td_fav">
  3. <?php echo $item['favorite_widget']; ?>
  4. </td>
  5. <?php } ?>
между 61 и 62 строками. В данном случае шаблон описывает вывод контента в виде таблицы, поэтому мы показываем ссылку на избранное в ячейке этой таблицы.
Все указанные файлы лежат в ..\templates\default\content\. Если у вас там есть дополнительные файлы, по желанию и необходимости, вы можете добавить в них приведенный выше код))

также для шаблона комментария ..\templates\default\controllers\comments\comment.tpl.php вставляем между 63 и 64 строками
  1. <?php if (isset($entry['favorite_widget'])){ ?>
  2. <?php echo $entry['favorite_widget']; ?>
  3. <?php } else { ?>
  4. <?php
  5. $is_show = ( cmsUser::isAdmin() || cmsUser::isAllowed('favorites', 'add') ) &&
  6. cmsCore::getController('favorites')->options['is_comment_folder'];
  7. if ($is_show) {
  8. echo cmsCore::getController('favorites')->renderFavoriteWidget('comments', NULL, $entry);
  9. }
  10. ?>
  11. <?php } ?>
Здесь пришлось немного увеличить код, т.к. система не дает обработать хук перед выводом списка комментариев в теле типа контента. Поэтому мы делаем это постфактум в теле шаблона.

Мы это сделали! dance
Для дефолтного шаблона Instant 2.1.2 можно скачать архив и заменить соответствующие файлы в системе. Для ваших собственных шаблонов нужно руководствоваться инструкцией выше. Не забывайте, что разместить кнопку добавления контента в Избранное можно в любом для вас удобном месте, инфобар — это мое личное предпочтение)). Стоит только предусмотреть чтобы эта кнопка была доступна при просмотре списка контента! В противном случае удалять записи из списка избранного будет несколько затруднительно.

Всем удачи! ))

Спасибо за внимание!

demo — login: demo@demo.ru pw: 123456

Избранное
Компонент

Избранное

от Val
Демо Скачать 5 292 загрузки

Скачать "модифицированные" файлы шаблонов: fav_links.zip


P.S. Для поддержания и развития этого компонента и других дополнений для InstantCMS буду рад вашей благодарности в виде "спасибо" на R396646181623, Z304069635163 или плюсика в карме =)
+2
qwest qwest 9 лет назад #
Спасибо штука очень хорошая и нужная плюсую. Правда пока на демо разобрался где иконка Избранное все глаза просмотрел rofl
+3
qwest qwest 9 лет назад #
А так вообще все сделано на высшем уровне даже с разбиением по типам плюсую еще раз.
+3
Val Val 9 лет назад #
Большое спасибо!
Думаю расположение кнопки избранного вопрос привычки)) Я сделал на подобии хабра, если немного позависать на сайте, привыкаешь и получается очень удобно)))
0
qwest qwest 9 лет назад #
На счет кнопки это так первая эмоция. v Конечно же очень просто сделать кому как нравится. Хотелось бы из коробки такую штуку.
+1
Val Val 9 лет назад #
Вот сейчас подумал, может стоит картинку с её расположением показать? Потому что, действительно, не все смогут сразу понять где что поменялось))
0
qwest qwest 9 лет назад #
Скриншот в посте можно а то я долго искал.
+2
Kantona Kantona 9 лет назад #
Вашпеманамана штука отличная)) Спасибо!) dance
Олег Васильевич я Олег Васильевич я 9 лет назад #
Комментарий удален
0
SpideR SpideR 9 лет назад #
Val, отличное дополнение! smile
НО! Насколько сложно сделать добавление в избранное людей?
+2
Val Val 9 лет назад #
Не сложнее чем добавление комментариев))
Но, IMHO, зачем добавлять пользователей в избранное?! Есть стандартный механизм - список друзей.
Также рассматриваю возможность сделать подписки на пользователей (т.е. добавить юзера в отдельный список, где потом можно следить за его деятельностью - например публикация статей, картинок и т.д.)
0
Александр Александр 9 лет назад #
а для первой такое сие чудо будет?)))
а так все равно огромное спасибо, если буду когда то на второй обязательно поставлю! ++
0
Alexprofi Alexprofi 9 лет назад #
Спасибо за дополнение!
Что-то не могу на демо-сайт зайти. - "Вход не выполнен. Проверьте правильность адреса e-mail и пароля."
+1
Val Val 9 лет назад #
Возможно сервер тупанул scratch Я проверял - вроде работает. В любом случае никто не запрещает зарегистрироваться и потестить! =)))
0
Alexprofi Alexprofi 9 лет назад #
Кстати, Val, что-то не пойму в чем дело. Когда-то давно плюсанул Вам в карму, с тех пор такая функция мне больше не доступна...
+1
Val Val 9 лет назад #
По идее, после изменения рейтинга, нужно ждать какое то время (устанавливается в админке=) ), после чего можно снова плюсовать)). Чтобы накрутки меньше было.
p.s. Спасибо вам за "+"
+2
reload reload 9 лет назад #
Alexprofi:
с тех пор такая функция мне больше не доступна...
Ага... так вот кто сломал прибавление кармы...
0
wayfox wayfox 9 лет назад #
Что-то не работает, все сделал как написано... Но при нажатии не добавляет а прокручивает страницу на начало (
Что может быть ?
+2
wayfox wayfox 9 лет назад #
Все разобрался... ))))) Спасибо огромное... Отличная работа... +++
+3
Val Val 9 лет назад #
Рад что у вас все получилось! v
0
Norm Gold Norm Gold 9 лет назад #
Все прекрасно работает! +
Но вот одно неудобство.. я когда то скопировал файл default_list_featured.tpl.php, переименовал в default_list_read.tpl.php и изменил вывод под себя (просто стили заменил).. В нем нажимаю на звезду.. ничего не происходит, если только не обновить страницу.. Может есть решение для этого? )
+1
Val Val 9 лет назад #
а вы а этом файле default_list_read.tpl.php прописали ссылку на компонент?
0
Norm Gold Norm Gold 9 лет назад #
В смысле чтобы добавить запись в избранные? Да
0
Norm Gold Norm Gold 9 лет назад #
На стандартном шаблоне типа default_list_featured.tpl.php запись добавляется с всплывающим уведомлением, удаляется также без перезагрузки красиво. Но вот в default_list_read.tpl.php надо обновить страницу и до этого не поймешь, добавил ты что-то или удалил..
+2
Val Val 9 лет назад #
дайте пожалуйста ссылку на эту страницу, я посмотрю в чем может быть причина
0
Norm Gold Norm Gold 9 лет назад #
Написал..
0
SE7EN SE7EN 9 лет назад #
Всё отлично, но есть одно но, значок удаления из избранного надо бы сделать более понятным
+2
Val Val 9 лет назад #
Это легко решается! smile
Замените файл картинки ..\templates\default\controllers\favorites\favorite.gif на соответствующую вашим потребностям и всё! ))
+2
Джехутимери Джехутимери 9 лет назад #
Прекрасное дополнение, Val!
Пригодится 100% :)
+3
Val Val 9 лет назад #
Спасибо smile )))
+1
А.Саган А.Саган 9 лет назад #
Замечательное дополнение! Подскажите, пожалуйста, что произойдёт с установленным дополнением, если придётся устанавливать новую версию обновления InstantCMS. Придётся ли после этого устанавливать дополнение заново? Или установка новой версии не повлияет на установленное дополнение?
+2
Val Val 9 лет назад #
Интересный вопрос! smile У себя еще не проверял... laugh
Но логически в худшем случае компонент просто не будет работать. Хотя структура такая что ломаться особо нечему)) Если, к примеру, поменяются файлы-шаблонов контента, т.е. старые перезапишутся новыми, то это поправимо. Название хуков и системных функций r2 менять не должен, а в остальном компонент автономен.
В любом случае, по мере своей возможности я буду поддерживать компонент для новых версий Инстанта.
0
482 482 9 лет назад #
Установл, но при входе в компонент выдаёт: Warning: constant() [function.constant]: Couldn't find constant LANG_FAVORITES_CONTROLLER in /home/artem/public_html/system/controllers/admin/actions/controllers_edit.php on line 15

Сайт работает без перебоем, но после замены необходимых фалов в папке ..\templates - никаких изменений при отображении не произошло.
+1
Val Val 9 лет назад #
Судя по ошибке у вас некорректно установился языковой файл. Проверьте наличие файла ..\system\languages\ru\controllers\favorites\favorites.php и заодно наличия папки ..\system\controllers\favorites\ и файлов в ней
0
482 482 9 лет назад #
Проверил, папка и файлы на месте.
+1
wayfox wayfox 9 лет назад #
Замени файл на стандарт...
0
Gudan Gudan 9 лет назад #
А чтобы в InstantMaps появилось где, что добавить не подскажите?
+2
Gudan Gudan 9 лет назад #
Прошу прощения уже сам разобрался-)
+3
Май Май 9 лет назад #
Как здорово, что для двойки появляется все больше отличных дополнений!
Огромное Вам спасибо!
+3
Val Val 9 лет назад #
Думаю к концу наступающего года "двойка" ничем не будет уступать первой инстант!!! ))
+1
Слава Слава 9 лет назад #
Хорошая штука, спасибо.
У меня сразу предложение. В репутации пользователей есть просмотр тех, кто проголосовал за твой профиль.
Хорошо бы такое сделать и для закладок.
+1
Val Val 9 лет назад #
Опишите пожалуйста подробнее что вы имеете ввиду? Свои закладки добавляет только владелец профиля, каким образом сюда причастны другие юзеры?
Возможность просматривать список избранного других пользователей есть.
+1
Слава Слава 9 лет назад #
Когда заходишь в профиль пользователя, там можно повысить или понизить репутацию(карму) этого пользователя.
При нажатии на количество голосов, появляется аякс-окно со списком пользователей, которые поставили репутацию.
И сдесь можно так сделать. Нажимаешь на количество пользователей, которые добавили данный материал в избранное, и появляется аякс-окно со списком пользователей, которые добавили этот материал в избранное..
+1
Val Val 9 лет назад #
Теперь понятно))))
В целом можно сделать... а на сколько это будет полезно?))
+3
Слава Слава 9 лет назад #
Польза от самого компонента. А всё остальное, как говорится, сопутствующий товар.
Моё дело внести предложение. А Вы уже сами решите, стоит этому быть или нет.
На мой взгляд для поиска пользователей по интересам самое то.
0
Demet Demet 9 лет назад #
У меня при установке выдает такую ошибку "Warning: Invalid argument supplied for foreach() in /home/*****/public_html/system/controllers/favorites/frontend.php on line 20. В чем может быть проблема?
+1
Val Val 9 лет назад #
Зайдите в Панель администрирования - настройки компонента. Установите требуемые параметры и нажмите "Сохранить". После этих действий ошибка появляется?
0
Demet Demet 9 лет назад #
Сейчас все стало нормально, не сразу увидел компонент в админке. Спасибо.
+2
Василич Василич 9 лет назад #
Отличное дополнение!
+1
VonKruger VonKruger 9 лет назад #
Спасибо! Плюсую!
+1
tuxo tuxo 9 лет назад #
Отличный компонент) Спасибо автору.
+2
Val Val 9 лет назад #
Спасибо за интерес))
+1
Natalya Natalya 9 лет назад #
Спасибо за компонент!!! dance
0
NIKITA NIKITA 9 лет назад #
Не выводится кнопка!
Выводится только в комментариях.
+2
NIKITA NIKITA 9 лет назад #
Простите, установил! +1
+2
Val Val 9 лет назад #
Рад, что у вас всё получилось! joke
0
RBJ RBJ 9 лет назад #
Отличный компонент, только убивает вот эти страницы

если у пользователя или его друзей нет комментариев.
+1
Val Val 9 лет назад #
Большое спасибо за отзыв и за баг!!!
Нашел причину косячка:
в ..\system\controllers\favorites\hooks\comments_before_list.php
нужно исправить 7-ую строку:
Код PHP:
  1. if (!$items) { exit(); }
на
Код PHP:
  1. if (!$items) { return false; }
В обновлении внесу исправления с рядом других дополнений.
0
Shuma Shuma 9 лет назад #
Если несколько раз нажать добавить и убрать комментарий в избранное, получается космическая цифра добавивших в избранное.
+4
Val Val 9 лет назад #
Спасибо! На демо-сайте починил. Выложу исправление с ближайшим обновлением.
0
nmsk nmsk 9 лет назад #
С нетерпением ждём. :)
0
Sergon Sergon 9 лет назад #
Val, заметил когда включаешь кеширование, происходят задержки в профиле, куда и что поставить чтобы не кешировались избранные?
+1
Val Val 9 лет назад #
Спасибо за найденный косяк! Долго боролся но победил эту напасть! )))
Пилю обновление. Как закончу выложу в новом посте.
0
Sergon Sergon 9 лет назад #
отлично!
0
Romanovcmc Romanovcmc 9 лет назад #
Вопрос такой, а если добавлена запись в избранное, а потом ее удалить, то она не отображается в избранном, но количество подсчитывается. Это как то возможно решить?
0
Val Val 9 лет назад #
Да, проблема известна и будет исправлена.
Обновление в работе, релиз ориентировочно конец мая - июнь
0
Ingvarruss Ingvarruss 9 лет назад #
Вопрос, как можно прикрутить это удобство к объявлениям и объектам Mapsa?
0
Val Val 9 лет назад #
Как прикрутить к объявлениям подробно описано в статье (в дефолте объявления выводятся через таблицу). А мапса у меня нет, но если он основан на типах контента, то нужно добавить кнопку избранного в удобное для вас место и включить в настройках компонента требуемый тип контента.
0
Val Val 9 лет назад #
Выпуск новой версии компонента откладывается до выхода InstantCMS 2 следующей версии (2.2.2 или 2.3.0) zst , в которой разработчик сделает возможным реализацию алгоритма для нормального функционирования компонента "Избранные записи пользователей".
Спасибо за понимание.
+1
Val Val 9 лет назад #
Что будет нового:
- Исправлены все косяки указанные здесь в комментариях;
- Добавлена возможность просмотра списка пользователей, которые добавили запись себе в избранное;
- Добавлен виджет со списком тегов (и кол-вом их использования) избранных записей пользователя, по которым можно осуществлять быстрый поиск по своим избранным записям;
- Также пользователь может добавлять/изменять свои метки к избранным записям. (Функционал на подобие сайта хабрахабр).

Ждем выхода новой версии iCMS 2!
+3
My-InstantCMS.Ru My-InstantCMS.Ru 9 лет назад #
Отлично smile
Мечты
+2
Val Val 9 лет назад #
smile даааа.... хуки для шаблона это наверное действительно мечты))))
Но! стоит заметить что в концепции iCMS 2 вполне реализуемые!!!
0
Старый балбес Старый балбес 9 лет назад #
Модификация системы ICMS одной кнопкой уже существует , мечты сбываются!
В рамках своего проекта выполнил компонент для изменения системы, на распространенном классе vqmod.
Этим замечательным классом пользуются множество распространенных cms drupal. opencart и др. Достаточно загрузить xml файл и нажать кнопку установить. Будет создана копия любого файла системы с изменениями обозначенными в xml.И системы следующим шагом будет подключать модифицированный файл. Немного приведу в порядок компонент редактора xml и выложу бесплатно.
0
byb byb 9 лет назад #
На странице профиля, в избранном, заголовок отображается с дефисом, в итоге, "избранное - - сайт", как убрать от избранного?
0
Val Val 9 лет назад #
Заголовок должен отображаться как: "Избранное - [никнейм пользователя] - [название сайта]"
за это отвечает строка кода в шаблоне ..\templates\default\controllers\favorites\profile_tab.tpl.php
Код PHP:
  1. $this->setPageTitle(LANG_FAVORITES, $profile['nickname']);
Чтобы оставить только название сайта удалите или закомментируйте эту строку joke
0
byb byb 9 лет назад #
Пропустил, хотел написать как убрать дефис) У меня вопрос в том что не отображается поле nickname, заметил я не один такой.

0
Val Val 9 лет назад #
Что-то проверил, перепроверил и не пойму в чем может быть проблема scratch
Судя по симптомам компонент отчетливо не видит переменную $profile - это выражается и в заголовке страницы и также в глубинометре (в хлебных крошках пропускается пункт имени пользователя).
Причем на локалке все отрабатывает нормально и все описанные проблемы не проявляются. В кодовой базе тоже вроде проблем не замечено. Единственное, что приходит на ум - это проверить права на файлы и папки компонента, может быть причина в них? (Но одновременно у всех маловероятно)

Буду думать...
+2
Val Val 9 лет назад #
Баг у меня не воспроизводился на локалке потому что он уже был исправлен =)
Ждём обновление, оно как раз в работе))) В компоненте исправлены ряд багов включая указанный сейчас и выше в комментариях, а также добавлены обработчики удаления пользователей, удаление контента и др. + новый функционал.
0
byb byb 9 лет назад #
Хорошая новость, ждем!
0
Sergon Sergon 9 лет назад #
Val, обновления на 2.3.0 коснулись компонента?
+2
Val Val 9 лет назад #
Устанавливал на чистую систему. В целом, после настройки начальных параметров в админке, все работает как и раньше)))
Старые "косячки" конечно же присутствуют zst
Так что если очень очень хочется можете обновится, но я бы посоветовал немного подождать, постараюсь в течение одной-двух недель допилить обновление и выложить его. Как я ранее писал, это обновление включает ряд "критических" доработок и исправление многих мелких багов, и плюс новый функционал. Исправление "критических" моментов стало возможно после выхода новой версии InstantCMS 2.3, в ядро которой внесены ряд необходимых дополнений.
0
Sergon Sergon 9 лет назад #
да, ждем конечно! Спасибо большущее за поддержку
0
Romanovcmc Romanovcmc 9 лет назад #
На последней версии движка 2.3.0, уж не знаю, то ли я не правильно обновился, то ли что еще, но при открытии записей, где нет комментариев, белая страница, где есть нормально все открывается.
0
Val Val 9 лет назад #
Вот эта правка есть?
http://instantcms.ru/blogs/bitblog/komponent-izbranoe-dlja-instantcms-2-x.html#comment_79809
В любом случае обновление уже совсем скоро))
0
Romanovcmc Romanovcmc 9 лет назад #
Спасибо, не делал правку, думал есть в файлах, подправленное. Подожду обновления)))
0
zeffs zeffs 8 лет назад #
Удалось победить белую страницу? Может в файлы нужно какие править
+1
Val Val 8 лет назад #
0
Михаил Михаил 8 лет назад #
Val, установил ваш компонент, возник вопрос: как мне создать ссылку в виджете меню, чтобы она вела сразу на site/users/1/favorites т.е. id подменялся на текущего пользователя?
+1
Zau4man Zau4man 8 лет назад #
Отвечу за Val. Ответ на ваш вопрос есть в документации.
http://docs.instantcms.ru/manual/menu/special
0
Val Val 8 лет назад #
Zau4man, спасибо!

Михаил, чтобы id подменялся на текущего пользователя ссылка будет выглядеть так: users/{user.id}/favorites
При этом не забудьте настроить отображение этого пункта меню (чтобы не показывать его гостям сайта).
0
Михаил Михаил 8 лет назад #
Наверное, придется ссылку эту прямо в main.tpl.php прописать т.к. хотелось бы добавить проверку на наличие избранных материалов - если их нет сейчас же перекидывает на 404.
Не подскажите, как?
0
Val Val 8 лет назад #
Посмотрите реализацию проверки на избранные материалы в файле ...\system\controllers\favorites\hooks\user_tab_info.php.
Получаю количество избранного через $count = $favorites_model->getUserFavoritesCount($user_id); Если $count == 0 не показываем таб (в вашем случае ссылку).

P.S. Если будете делать в main.tpl.php то user_id можно получить, например так: cmsUser::getInstance()->id;
0
Михаил Михаил 8 лет назад #
Спасибо, буду пробовать.
А если мне требуется установить иконку, например, в виджете HTML-блок, то т.к. <?php echo $item['favorite_widget']; ?> нельзя, то какой мне код надо скопировать для ее вывода?
0
Val Val 8 лет назад #
А какие цели вы преследуете вставив иконку в виджет HTML-блок? Если вам просто нужна иконка, скопируйте ее и добавьте любым удобным способом (html-inline, css-inline, css-outline и т.д.). Если вы хотите как то использовать компонент через виджет HTML-блок!, то вероятнее всего он так не запустится у вас (как минимум не зная многих деталей я не могу что-то сказать). $item['favorite_widget']; генерится для каждой записи отдельно (индивидуально), поэтому что-то добавить в виджет HTML-блок легко и просто не получится scratch
0
Михаил Михаил 8 лет назад #
Дело в том, что в виджете справа от материала хотел расположить все желаемые иконки (по клику: всплывающее окно, либо переход на другую страницу), среди которых и кнопка добавления в Избранное...
0
Val Val 8 лет назад #
Виджет избранного при выводе записи генерируется здесь ..\system\controllers\favorites\hooks\content_before_item.php - т.е. присутствуют все необходимые данные для обработки.
Если вы можете вытащить и передать в функцию renderFavoriteWidget(...) нужные параметры, то в принципе куда выводить виджет уже не важно =)
Как вариант, можете попробовать костыльный метод в js-скрипте повесить на onDocumentReady() перенос виджета из записи в бок в html-виджет. Также посмотрите есть еще один компонент закладок - http://instantcms.ru/blogs/ingdesign/zakladki-dlja-tipov-kontenta-instantcms-2.html, возможно он вам подойдет больше.
0
BonBon BonBon 7 лет назад #
Здравствуйте.Как и Михаил задаюсь вопросом когда нет записей можно ли выводить текст типа У вас нет избранных страниц, 404 напрягает..Заранее спасибо большое
+1
Val Val 7 лет назад #
Физически это возможно (но требует внесения изменений в коде). Однако, текущий вариант считаю более правильным.
Напомню, что сейчас если у пользователя нет избранных записей то вкладка "Избранное" вообще не отображается. Следовательно и нажимать никуда не надо чтобы увидеть 404! Как только пользователь добавит себе в список какой либо понравившийся ему материал, у него в профиле будет новый таб "Избранное", при переходе по которому он сможет увидеть список своего избранного контента.
0
denis denis 7 лет назад #
Доброго времени суток уважаемый разработчик.
Не могу установить компонент избранное на Instant 2.8
Помогите пожалуйста.
0
denis denis 7 лет назад #
Вот такая вот проблема.
0
denis denis 7 лет назад #
Вот что ещё за проблема возникает при отсутствии избранного.
0
Val Val 7 лет назад #
Удостоверьтесь что разрешили все хуки компонента в системе? Проверьте раздел Панель управления - Компоненты - Управление событиями.
0
denis denis 7 лет назад #
Спасибо дорогой друг тебе. Моё уважение и почтение за этот компонент! А ещё вопросик один. А как можно исправить вот эти ошибки
Спойлер
0
denis denis 7 лет назад #
Кстати проблема при открытии фотогалерии белый экран :(
0
denis denis 7 лет назад #
И да! При открытии любого компонента, там где следует инклудить код, везде белый экран.
0
Val Val 7 лет назад #
1. Не стоит повторять столько раз! Я и с первого вполне нормально понимаю, спамить незачем.
2. Удалить вашу версию компонента и установить последнюю на сегодняшний день из каталога дополнений. У вас стоит древняя версия еще чуть ли не на InstantCMS 2.0))

Еще от автора

СтопХам - userscript для instantcms.ru
Всем привет! Презентую чужую разработку со своей небольшой доработкой .
Предпросмотр для InstantCMS 2
Всем привет!
Just4Fun - Аватарки!
Здравствуйте, любители InstantCMS 2.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.