Избранное v.2.0 2.X

7609
Избранное v.2.0

Здравствуйте.

Вышла в свет очередная версия, хотя не очередная, а новая, это более подходящее слово для InstantCMS 2.3.0. Система стала полностью открытым продуктом со своим репозиторием на GitHub и группой энтузиастов-разработчиков которые внесли свой небольшой, но не менее ценный вклад в развитие системы. И первые плоды такого шага не заставили себя долго ждать. За время публикации проекта на GitHub внесено более 100 коммитов из них только за последний месяц было модифицировано 99 файлов системы, а это, ни много ни мало, более 2400 строк дополнений в коде и 1500 удалений. Всё это позволило InstantCMS стать более стабильной, быстрой, безопасной и просто удобной в использовании.
Так вот к чему это я всё?! Теперь ядро системы позволяет сделать то, чего раньше было не предусмотрено, а именно этого я так долго ждал, чтобы выпустить обновление компонента “Избранное”. Всех кому интересно что получилось в итоге

Теперь ближе к телу...

Компонент, как и ранее, предназначен для хранения пользователями сайта записей различных типов контента (статьи, посты, новости, фотоальбомы и др.). Списки выбранных записей территориально располагаются в профиле пользователя под табом “Избранное”. Также пользователь может добавлять свои теги для записей, чей тип контента предусматривает наличие тегов, по-просту говоря, для типов контента, в настройках которых указана галочка “Включить теги”:

Что нового:

Учёт тегов в избранных записях.
Добавление пользовательских тегов в избранное.
Виджет тегов избранного.
Возможность посмотреть список пользователей, которые добавили запись в избранное.
Общий вид компонента теперь более соответствует стилю дефолтного шаблона.

Исправления:

Работа компонента с кэшем. Теперь кэш своевременно очищается и нет никаких задержек между добавлением записи в избранное и ее просмотром в списке избранного.
Корректный вывод страницы, если в записи нет комментариев. Прощай белый экран =)
Многочисленный клик по ссылке избранного.
Различного рода удаления записи, комментария или пользователя из админки. Компонент получает уведомления посредством хуков и чистит нужное у себя в БД.
другие мелкие и не очень исправления. В общем всё, что указано здесь в комментариях и даже больше.

Для тех кто не любит читать - всё (или почти всё) нижеописанное в небольшом скринкасте:

Как поставить.

Установка дополнения стандартна в основной своей части и своеобразна в интеграционной составляющей.
Скачиваем компонент ниже по ссылке и следуем инструкциям описанным здесь: http://docs.instantcms.ru/manual/addons. Затем самое сложное. Компонент установлен в вашу систему, но его необходимо отобразить пользователю, чтобы он мог с ним взаимодействовать. Для этого в файлах шаблона нужно прописать где компонент, а точнее виджет избранного, должен выводиться. Поэтому в ручную добавляем:
для файлов вывода контента (..\templates\default\content\)
Код PHP:
  1. <?php if (!empty($ctype['is_favorites'])){ ?>
  2. <div class="bar_item bi_favorite">
  3. <?php echo $item['favorite_widget']; ?>
  4. </div>
  5. <?php } ?>
albums_list.tpl.php - 128 строка
default_item.tpl.php - 139 строка (или 141 после добавления формы тегов, см. ниже)
default_list.tpl.php - 137 строка
default_list_featured.tpl.php - 137 строка
default_list_tiles.tpl.php - 115 строка

Т.е. здесь мы добавляем кнопку избранного в элемент <div class="info_bar">...</div>, в котором также выводятся виджет рейтинга, никнейм автора записи, указатель колличества комментариев к записи, блок шаринга и др. информация.
Избранное v.2.0


Для шаблона вывода контента таблицей (по умолчанию используется в объявлениях) код немного изменяется:
default_list_table.tpl.php
Код PHP:
  1. <?php if (!empty($ctype['is_favorites'])){ ?>
  2. <th>&nbsp;</th>
  3. <?php } ?>
вставляется в 25 строку (это заголовок таблицы, добавляем чтобы не поехала вёрстка).
Код PHP:
  1. <?php if (!empty($ctype['is_favorites'])){ ?>
  2. <td class="td_fav">
  3. <?php echo $item['favorite_widget']; ?>
  4. </td>
  5. <?php } ?>
эта часть добавляется в 62 строку (сам виджет избранного).

Теперь добавим возможность формы редактирования пользовательских тегов.
дописываем
Код PHP:
  1. <?php if (isset($item['favorite_tags'])) { echo $item['favorite_tags']; } ?>
сразу за кодом вывода тегов записи $item['tags']:
Код PHP:
  1. <?php if ($is_tags){ ?>
  2. <div class="tags_bar">
  3. <?php echo html_tags_bar($item['tags']); ?>
  4. </div>
  5. <?php } ?>
Для большей красоты вставляем $item['favorite_tags'] сразу за $item['tags'] без пробелов! Те кто в курсе про inline элементы поймут =)
Должно получиться так:
Код PHP:
  1. <?php if ($is_tags){ ?>
  2. <div class="tags_bar">
  3. <?php echo html_tags_bar($item['tags']); ?><?php if (isset($item['favorite_tags'])) { echo $item['favorite_tags']; } ?>
  4. </div>
  5. <?php } ?>
Это делается в файлах
albums_list.tpl.php - 95 строка
default_item.tpl.php - 90 строка
default_list.tpl.php - 87 строка
default_list_featured.tpl.php - 94 строка

И сама форма редактирования тегов. Добавляем код
Код PHP:
  1. <?php if (!empty($ctype['is_favorites'])) { echo $ctype['favorite_tags_form']; } ?>
в albums_list.tpl.php - 144 строка
default_item.tpl.php - 94 строка
default_list.tpl.php - 149 строка
default_list_featured.tpl.php - 149 строка
В принципе здесь не особо критично куда добавить форму, главное не кинуть её в цикл, чтобы она не дублировалась много раз (её одной на страницу вполне будет достаточно).

Последняя небольшая правочка для комментариев.
Добавляем код
Код PHP:
  1. <?php echo isset($entry['favorite_widget']) ? $entry['favorite_widget']
  2. : cmsCore::getController('favorites')->getFavoriteWidget('comments', NULL, $entry); ?>
в 64 строку файла ..\templates\default\controllers\comments\comment.tpl.php

Для дефолтного шаблона я подготовил все необходимые файлы с внесенными изменениями, скачать его можно ниже по ссылке.

Переходим к настройке компонента.

В панели администратора идём в раздел компонентов и выбираем “Избранное”.
Избранное v.2.0

На вкладке “Опции” устанавливаем галочки рядом с типом контента который можно будет добавлять в избранное. Чтобы разрешить выбор в избранное комментариев, устанавливаем галочку “Включить добавление комментариев в избранное”. И при необходимости отмечаем “Показывать пользователей добавивших запись в избранное”.
Жмём кнопку “Сохранить” и переходим на вкладку “Доступ”.
Избранное v.2.0

Здесь отмечаем каким группам пользователей разрешено пользоваться компонентом. Жмём “Сохранить” и идём в раздел “Виджеты”.
Находим в левой колонке папку “Профили пользователей”, а в ней выбираем “Профиль пользователя”. И в правой колонке в списке виджетов, группе “Избранное” перетаскиваем виджет “Теги избранного” в желаемую позицию на шаблоне. Я предпочел сайдбар, сразу после вывода меню пользователя.
Избранное v.2.0

На этом шаге долгая и утомительная установка этого злосчастного дополнения закончена!


Тем кто будет обновляться со старой версии компонента, необходимо к вышеописанным операциям провести еще одну - обновление таблицы избранного БД, сопоставление тегов избранного и удаление лишних записей избранного в БД. Для этого под учётной записью администратора необходимо перейти по ссылке ваш_сайт/favorites/repair и дождаться окончания выполнения всех операций.

Что дальше:

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

Файлы вывода контента для дефолтного шаблона с внесенными правками

демо-данные:
e-mail: [email protected]
pw: 123456

Внимание!

В компонент внесены небольшие исправления устраняющие ряд недочётов. Просьба скачать дополнение v.2.0.1 и обновиться. Для обновления с версии 2.0 достаточно заменить файлы из папки package.

Всем удачи!

P.S. наверное это самый избранный пост по количеству слова “избранное” в тексте laugh
Благодарности
"Опросы" для InstantCMS 2.x. Обновление которого так долго ждали ;) | Компонент «Опросы» v.2.0 для InstantCMS 2.x
Комментарии (86)
SEOrigin 18 ноября 2015 в 21:21 +3
Респект! Прошу опубликовать реквизиты для перечисления благодарностей:)
Romanovcmc 18 ноября 2015 в 21:22 +2
Куда пивом угостить можно?
Dimson 18 ноября 2015 в 22:28 +5
Эта фишка просто обязана быть в движке! Автору +
Def 18 ноября 2015 в 22:51 +3
+1!!! 100% долждно быть в сборке по дефолту!
DzurDzuk 18 ноября 2015 в 23:04 +2
Ыднозначна должна, учитывая процесс установки :D
MegaRostov 18 ноября 2015 в 23:43 +2
Как всегда! Огромное Спасибо! +++++
Val 19 ноября 2015 в 00:08 +2
Всем большое спасибо!
F_a_R_i_D 19 ноября 2015 в 02:33 0
Обновление на ранние версии не пойдут?
InstantCMS v2.2.1
Val 19 ноября 2015 в 07:59 +2
Нет. Для обновления минимальная версия InstantCMS 2.3.0. Как я написал в самом начале поста, в ядро системы внесено ряд исправлений которые используются компонентом.
vsemkrot 19 ноября 2015 в 06:02 0
красава!) вот только бы поменьше правки системных файлов,что бы не развалилось при обновлении двиги!!а лучше что бы разработчик в коробку это внёс тогда бы вообще было бы хорошо!
Romanovcmc 19 ноября 2015 в 07:01 +2
дак вроде там только правки шаблона, разве нет?
Val 19 ноября 2015 в 08:02 +2
Системные файлы и не затрагиваются! Я категорически против внесения различного рода хаков в систему!
Все исправления происходят в шаблоне, и лишь для того чтобы пользователь мог как то взаимодействовать с компонентом, т.е. вы вставляете в шаблон ссылки на добавление/удаление записей в избранное и редактирование пользовательских тегов.
Loadырь 19 ноября 2015 в 14:53 +5
В таком случае может попробовать добавить pull_request на гитхабе. Вдруг Fuze нечаянно добавит его в очередной релиз.
Dimson 19 ноября 2015 в 15:26 +1
Было бы здорово!
Val 19 ноября 2015 в 16:20 +2
На случайность от Fuze я не верю))) Уверен что перед смерживанием пулл реквестов идёт тщательный разбор кода!
А наличию подобного функционала в коробке я был бы рад! Но всё зависит от разработчиков)))

P.S. и если рассматривать компонент как кандидата на вклеивание в InstantCMS 2.4, например, то лучше будет менять архитектуру и часть кода переносить в контент, как это сделано для тегов, рейтинга, комментариев и др. компонентов.
Loadырь 19 ноября 2015 в 17:13 +3
Val:
На случайность от Fuze я не верю)))
Все разработчики в это не верят (ибо знают). Но это не повод не пробовать и останавливаться на достигнутом smile .
P.S. Я тоже планирую обновить бесплатный конструктор форм, сижу обдумываю, как это сделать сразу на гите.
Romanovcmc 19 ноября 2015 в 07:03 0
/favorites/repair - а вот это что за фишка, что делает, и для каких компонентов? может где еще применять можно подобное?
Val 19 ноября 2015 в 08:07 +2
Это необходимо выполнить только один раз при обновлении компонента с первой версии. Скрипт очищает таблицу favorites БД от ранее удаленных записей, но не удаленных ссылок избранного на эти записи. А также к уже существующим ссылкам избранного настраиваются теги в БД.

Таким образом, если вы использовали компонент ранее, вам необходимо обновиться текущей версией, произвести начальную настройку и один раз под учётной записью администратора перейти по ссылке /favorites/repair, и дождаться вывода сообщения об успешном завершении операции.
AndroS 19 ноября 2015 в 10:20 +2
Отличный компонент! Добавил в избранное (+1 к вашему счетчику слов). Однозначно в ядро системы!
ivanish 19 ноября 2015 в 10:44 +2
Обалденно!
Alexprofi 19 ноября 2015 в 12:07 +3
Побольше бы здесь таких людей, как Val!
Val 19 ноября 2015 в 16:27 +3
— Уж очень я какой-то идеальный получился.
— Ничего, жизнь это поправит.
© "Москва слезам не верит"
Здесь очень много отличных людей и прекрасных разработчиков! Поэтому InstantCMS - это нечто большее чем просто система управления контентом joke
GoodMade.ru 19 ноября 2015 в 14:15 +3
Благодарю за разработку! Использую на своём сайте, добавлял поддержку сего в свои разработки. Так же добавлю поддержку в свои новые компоненты: видео, отзывы. ;)
Val 19 ноября 2015 в 16:22 +4
И вам большое спасибо за поддержку компонента в своих дополнениях! Очень неожиданно и приятно)))
SEOrigin 19 ноября 2015 в 16:36 0
Денис, поскольку в Скайпе Вы меня игнорируете, пользуясь случаем интересуюсь: что там с моим заказом?
sosed 19 ноября 2015 в 21:46 0
Почему у меня как только в избраное добавлю статью или новость, в профиле меню избраное не открывается. Белое окно? С комментариев, фото, объявления все нормально, вкладки добавляются. Если отписаться от избранного в новостях, статьях, то в профиле сразу избраное отображает разделы. Где я ошибку мог сделать?
Val 20 ноября 2015 в 11:26 +2
Код одинаковый для всех типов контента, т.е. ему без разницы, новость это или статья или объявление или еще что... Поэтому если выводяться одни типы контента, а другие нет, то надо посмотреть что есть такого в тех типах контента которые не отображаются? Возможно вы устанавливали какие сторонние дополнения для этих типов контента? Если самим разобраться не получится в чем может быть проблема, напишите мне в личку, будем разбираться...
Val 21 ноября 2015 в 00:59 +3
ВНИМАНИЕ! Нашелся небольшой баг в компоненте.

solntsev, нашел следующий баг и предложил решение его исправления, за что выражаю ему огромную благодарность.

При включенной настройке Объединять CSS-файлы значок звезды при добавлении отображается не желтым, а серым.

В файле стилей favorite.css на 23 строке
Код CSS:
  1. .favorite_widget .fav_delete .fav_icon {...}
перед .fav_icon указано два пробела, нужно оставить только один.
После удаления одного пробела все становится ОК.

P.S. Поменять установочный пакет в разделе дополнений не могу, есть возможность только добавить следующую версию, но думаю не логично из за двух пробелов выкладывать как следующую версию scratch
Val 21 ноября 2015 в 15:14 +2
Выпущено небольшое обновление. Подробности в конце поста.
Спасибо за найденные баги solntsev и Alekseinet
alexswen 21 ноября 2015 в 18:57 0
Сделал что в описании, решил скачать - скачать не удаётся 404 ошибка, что делать ?
Val 21 ноября 2015 в 19:50 +3
Попробуйте еще раз, перезалил установочный пакет. Проверил - вроде качается))
alexswen 22 ноября 2015 в 10:13 +3
Всё качает, спасибо
Виктор 3 декабря 2015 в 14:27 +1
Хотел уже начинать переписывать rating с надеждой получить нечто подобное laugh Вовремя заглянул в каталог. Спасибо большое. Отличный компонент smile
Виктор 3 декабря 2015 в 14:59 0
В FireFox 41 ошибка Type error: icms.events is undefined при добавлении или удалении
scratch
Val 3 декабря 2015 в 17:59 +3
Шаблон сторонний? Проверьте подключение файла ..\templates\default\js\core.js
Виктор 3 декабря 2015 в 18:28 0
Нет, чистый 2.3.0. Думал с локалхостом проблема, установил в интернете -
errors:

TypeError: b(...).devbridgeAutocomplete is not a function favorites.min.js:9:81
Этот сайт использует сертификат SHA-1; рекомендуется использовать сертификаты с алгоритмами подписи, использующими более сильные хеш-функции, чем SHA-1.[Подробнее] mc.yandex.ru
TypeError: b.jGrowl is not a function favorites.min.js:5:199
Может с мозиллой проблема. Вечно что-то отваливается laugh
(демо: http://icms.pe.hu/news/9-rossijane-stali-pervymi-na-chempionate-mira.html
логин: [email protected]
пароль: demodemo
)
Val 3 декабря 2015 в 18:44 +3
Я зашел по вашим данным и вообще не увидел ни в одном типе контента виджета добавления записи в избранное! =)
Вы провели пост-установочную настройку компонента? Добавление необходимых записей в шаблон и настройку параметров через админ.панель? Прочитайте еще раз что и как надо установить и настроить и проверьте все ли вы сделали.
Как вариант проверьте на моем демо сайте работу компонента. Появляются ли на нем указанные вами ошибки в ваших условиях (браузер, ос и др.).
Виктор 3 декабря 2015 в 18:53 +3
Забыл установить доступ пользователям, затем выяснилось что perms.tpl.php почему-то отсутствовал laugh
На Вашем сайте все супер, а значит я что-то сделал не так. laugh Позже наверное посмотрю. Не соображаю уже popcorn
Val 3 декабря 2015 в 18:55 +4
Желаю вам успехов в инсталляции и настройке smile
Удачи!
Если будут вопросы, обращайтесь joke
Виктор 3 декабря 2015 в 22:51 +1
Все, разобрался laugh Забыл обновить core.js. sad Спасибо, что подсказали. Я сам еще бы недели две искал в чем причина, пока не забросил laugh
Alekseinet 31 декабря 2015 в 01:09 0
Только у меня исчезла звезда после обновления? Потерялася она (
solntsev 31 декабря 2015 в 02:07 +3
Проверьте файл default_item.tpl.php в папке content шаблона на наличие кода избранного.
В ходе обновления, если обновлялись в автоматическом режиме, он заменился.
Alekseinet 31 декабря 2015 в 16:16 +1
Да.. вы правы, там было пусто.. Спасибо за подсказку..
Val 31 декабря 2015 в 17:26 +4
Alekseinet, рад что все разрешилось)) Причина, думаю понятна - старые файлы шаблона затерлись новыми и вместе с ними удалились "ссылки" на виджет избранного в инфобаре)) Такая обратная сторона вносить изменения в "системные" файлы, пусть и шаблона. Но по другому пока никак((

solntsev, спасибо вам за оперативную помощь!
Val 31 декабря 2015 в 17:35 +5
Немного позже обновлю файлы шаблона для InstantCMS 2.4.0 и выложу их в теме, для тех кто не хочет вручную править)))
Val 1 января 2016 в 23:01 +5
Обновил! smile Качаем по старым ссылкам
Dorimen 1 января 2016 в 23:19 0
А где скачать-то для 2.4? )
Dorimen 2 января 2016 в 11:46 +2
В общем все ок, спасибо большое за компонент )
Val 2 января 2016 в 15:18 +2
Ссылка та же: https://goo.gl/USJyqA (подправленные файлы дефолтного шаблона)
а сам компонент в каталоге дополнений: http://addons.instantcms.ru/addons/favorites.html (обновлялся до 2.4.0 на локалке - все работает)
Def 28 января 2016 в 10:50 +2
Круто! Все работает как часы!!!
vikont 28 января 2016 в 16:11 0
Все это замечательно! И большое спасибо товарищу Val за очень нужное дополнение!
Но слишком много хака! Поймите правильно, все эти хаки потом боком вылазят при обновлении движка!
Я бы был еще более благодарен, если бы дополнение не требовало никаких хаков! А пока постараюсь обойтись без него.
Val 28 января 2016 в 17:26 +5
vikont:
Но слишком много хака! Поймите правильно, все эти хаки потом боком вылазят при обновлении движка!
А со сторонним шаблоном при обновлении движка ничего не происходит? Ведь можно сказать что не дефолтный шаблон - это тоже хак.
А вообще если подскажите мне как добавить вывод виджета избранного в записи без правок шаблона буду вам благодарен.
Андрей 13 февраля 2017 в 22:29 0
Подскажите в чем может быть проблема?
https://yadi.sk/i/gDNyA3O_3E3GAk
Val 14 февраля 2017 в 00:45 +1
Это на 2.7.x?
Теоретически не должно быть проблем, т.к. используется стандартный механизм iCMS
Код PHP:
  1. public $useDefaultPermissionsAction = true;
где система сама генерит таблицу доступа групп пользователей.

На других компонентах нет похожей проблемы?

Все никак руки не дойдут обновиться до 2.7.x =( На неделе обязательно сделаю это и смогу что-то определенное сказать если получится воспроизвести проблему.
Андрей 14 февраля 2017 в 08:38 0
Это на 2.7.x?
Да
На других компонентах нет похожей проблемы?
Нет
Val 18 февраля 2017 в 22:56 +1
Только что обновился до последней версии - iCMS 2.7.1. Проблема не воспроизводится.
Если у вас вопрос ещё не решился пишите в личку.
Val 1 марта 2017 в 09:08 +1
Нашел баг в пакете установки! (собственно поэтому не воспроизводилось у меня на локалке). Скачайте еще раз компонент и переустановите его. Проблема должна исчезнуть.
Val 18 февраля 2017 в 23:07 +5
Друзья, наконец я обновился до актуальной версии InstantCMS (2.7.1) чтобы проверить работоспособность компонента, т.к. в отзывах поступила подобная жалоба. Но к своему сожалению или наверное больше к радости не обнаружил признаков неработоспособности компонента. Все отрабатывает как и задумывалось (создавал связь типов контента, привязывал списком статьи и поочередно добавлял и удалял в избранное).
Отзыв был удален, а по памяти найти его автора не получилось, поэтому прошу всех кто пользуется этим компонентом на версии движка 2.7.1 отписаться здесь или в личку если что-то перестало работать или стало работать как-то иначе. Чтобы я смог увидеть проблему если она действительно есть.
Dorimen 1 марта 2017 в 18:29 0
Можете прислать свои файлы для 2.7.1, потому что мне кажется, я запутался при смерживании именно с компонентом "Избранное" smile Почту в личку указал.
@BonBon 4 марта 2017 в 11:58 0
Не кто не пытался допиливать?А именно вывод списка в виджете?не подскажете как реализовать вывод списка в меню?
Pocus 4 марта 2017 в 15:42 +1
Этот список может быть очень длинным. Зачем его в меню?
Сделайте ссылку в профиль users/{user.id}/favorites
@BonBon 21 марта 2017 в 12:47 0
Можно ограничивать количество...Очень нужно сделать вывод в меню виджетом или вручную,готов заплатить!
ParadoX 28 марта 2017 в 14:24 0
Великолепный мод, который по идее должен быть в коробке. Спасибо вам!
Столкнулся со следующим багом, который связан с мои шаблоном. У вас блок
Код PHP:
  1. <?php if ($is_tags){ ?>
  2. <div class="tags_bar">
  3. <?php echo html_tags_bar($item['tags']); ?><?php if (isset($item['favorite_tags'])) { echo $item['favorite_tags']; } ?>
  4. </div>
  5. <?php } ?>
идёт до DIV'a "info_bar" и всё прекрасно работает. Но стоит поместить этот код внутрь DIV'a "info_bar" (вообще в любой div, table и т.д.), алгоритм нарушается! Я понимаю, что это связано с ajax обновлением блока через jquery из favorites.js.

Что изменить в favorites.js, чтобы всё работало в следующей связке:
Код PHP:
  1.  
  2. <?php if ($show_bar){ ?>
  3. <div class="info_bar">
  4. <?php if ($ctype['is_favorites']){ ?>
  5. <div class="bar_item bi_favorite">
  6. <?php echo $item['favorite_widget']; ?>
  7. </div>
  8. <?php } ?>
  9. <?php if ($is_tags){ ?>
  10. <div class="tags_bar">
  11. <?php echo html_tags_bar($item['tags']); ?><?php if (isset($item['favorite_tags'])) { echo $item['favorite_tags']; } ?>
  12. </div>
  13. <?php } ?>
  14. </div>
  15. <?php } ?>
  16.  
Если использовать в таком виде, то перестаёт работать "добавление своих тегов". Если переделать <div class="info_bar"> в <div class="info_bar tags_bar">, то "добавление своих тегов" начинает работать, но не работает "Звёздочка".
Прошу помощи.
Val 28 марта 2017 в 16:41 +1
не проверял но попробуйте добавить следующий код в файл ..\templates\default\js\favorites\favorites.js в начало функции getTagsBar() (примерно 83 строка):
Код JAVASCRIPT:
  1. if ($(object).parent('.info_bar').find('.tags_bar').length !== 0)
  2. return $(object).parent('.info_bar').find('.tags_bar');
и оставьте приведенный вами кусок html-кода (где внутри info_bar - div с классом tags_bar).

Я привел код для неминимизированного файла! Поэтому проверьте что именно он подключается у вас в шаблоне, а не min.js версия.
ParadoX 28 марта 2017 в 22:32 0
К сожалению эффекта никакого. Так же не работает "звёздочка". Вернее она работает (и в моём случае), но стоит нажать её дважды, всё зависает. Если info_bar без tags_bar, то "звёздочку можно жать сколь угодно раз."
Val 29 марта 2017 в 10:17 +1
@AHTEPO:
но стоит нажать её дважды, всё зависает
Странно... При нажатии на "звездочку" к ней добавляется класс disabled и при повторном нажатии идет проверка на наличие этого класса, именно для предотвращения многократных кликов и зависаний
favorites.js
Посмотрите в консоли браузера при кликах по виджету избранного появляются ли у вас какие ошибки?
ParadoX 29 марта 2017 в 17:39 0
Ошибок нет. Со звёздочкой ситуация следующая: если она выкл (серенькая), то скрипт "выдерживает" 2 клика - вкл+выкл и зависает. Если звёздочка уже была вкл (жёлтенькая), то скрипт выдерживает 1 клик - выкл.
Ладно, придётся вынести теги за приделы бара. Может это и к лучшему... Всё равно премного благодарен!
@BonBon 1 апреля 2017 в 13:37 0
Ребят помогите сделать чтобы если нет избранного контента не кидало на 404 а была надпись типа "нет избранных страниц" Ссылку на избранное вывожу принудительно не в профиле.Или может есть возможность обернуть ссылку чтобы ее не было видно пока не добавишь запись...Немного заплачу на развитие компонента
@BonBon 23 мая 2017 в 18:38 0
Заплачу тому кто реализует..На заказ..
@BonBon 23 мая 2017 в 18:38 0
Заплачу тому кто реализует..На заказ..
@BonBon 23 мая 2017 в 19:13 0
Всем спс сам сделал
Kvazar 6 августа 2017 в 17:51 +1
Подскажите, пожалуйста, а как сделать вот этот текст ссылкой на Избранное?
Val 9 августа 2017 в 01:25 +1
Все языковые переменные хранятся в файле ..\system\languages\ru\controllers\favorites\favorites.php. Чтобы добавить ссылку на добавление замените значение языковой константы LANG_FAVORITES_ADD_SUCCESS на
Код PHP:
  1. define('LANG_FAVORITES_ADD_SUCCESS', 'Запись добавлена в <a href="/users/%d/favorites">избранное</a>');
и в файле экшена (..\system\controllers\favorites\actions\add.php) нужно добавить id пользователя (замените 56 строку):
Код PHP:
  1. $result['message'] = sprintf(LANG_FAVORITES_ADD_SUCCESS, $favorite['user_id']);
Kvazar 10 августа 2017 в 17:51 0
Спасибо!

Тогда еще 2 вопроса по теме:
1) Можно ли привязать рейтинг пользователей к Избранному? Чтобы рейтинг увеличивался/уменьшался при добавлении/удалении из избранного?
2) Сейчас, как я понял, можно добавить в избранное только целый фотоальбом. А можно ли добавлять отдельные фотографии?
Kvazar 10 августа 2017 в 17:51 0
Спасибо!

Тогда еще 2 вопроса по теме:
1) Можно ли привязать рейтинг пользователей к Избранному? Чтобы рейтинг увеличивался/уменьшался при добавлении/удалении из избранного?
2) Сейчас, как я понял, можно добавить в избранное только целый фотоальбом. А можно ли добавлять отдельные фотографии?
Val 11 августа 2017 в 00:44 +2
С первого раза было понятно joke

И 1 и 2 можно но только через написание кода))
1. Приведет к тому что пользователь будет добавлять все подряд в избранное лишь бы увеличить свой рейтинг. Тогда смысл компонента потеряется.
2. Путем простых манипуляций нельзя. Нужно пилить отдельный функционал который будет независимо от контента отслеживать внутри нужные фотографии.
Kvazar 13 августа 2017 в 00:12 0
1) Чтобы не его рейтинг увеличивался, а того пользователя, чей комментарий или материал добавили в избранное.
А даже если и ваш вариант, то это все равно плюс к поведенческому)
2) Понял!)
Val 14 августа 2017 в 16:03 +1
Kvazar:
1) Чтобы не его рейтинг увеличивался, а того пользователя, чей комментарий или материал добавили в избранное.
Отличная идея! Взял себе на заметку. Обязательно реализую что-то подобное в будущих версиях компонента.
@erni21 17 декабря 2018 в 13:08 0
Подскажите, не могу применить его к Instant maps? В чем может быть проблема? Спасибо!
Val 17 декабря 2018 в 22:34 +1
Трудно сказать не зная что вы делали и как))
Если Instant maps как-то связан с типом контента, то добавление виджета в шаблон этого типа контента должно было работать. В противном случае без доработки кода связать не получится.
Сергей 5 января 2019 в 18:52 0
Всех с Новым Годом! Всего,Всего, хорошего в 2019 году. И Вопрос к Автору, планируется в будущем реализация настройки "Стили для других списков" .Конкретно интересует для вкладки избранное в профиле?
Val 18 января 2019 в 16:05 +1
Добавлять отдельные стили или шаблоны для списка избранного не планировал. Сейчас список выводится ровно так же как установлено для контента в его настройках.
Сергей 18 января 2019 в 18:36 +1
Благодарю, за ответ и конечно поддержку ваших разработок. Всё работает отменно.
@kolecha 24 мая 2019 в 08:50 0
Поскажите пожалуйста. при выводе на главной ТОЛЬКО ВИДЖЕТЫ, все равно выводит пустой блок article, если выводится хоть один виджет контента в котором он задействован. (версия инсты 2.12.2). Есть способ решить эту проблему?
Val 25 мая 2019 в 15:18 0
Есть.
1. Добавляете виджет "HTML блок" на главную страницу.
2. В настройках снимаете галочку "Показывать заголовок" и выбираете "Шаблон контейнера" - wrapper_plain и "Шаблон виджета" - html_plain
3. Прописываете в Опциях:
Код CSS:
  1. <style>
  2. article {
  3. display: none;
  4. }
  5. </style>
Сохраняете и готово.
@kolecha 26 мая 2019 в 09:38 0
можно и так, спасибо)