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

+74
9.85K
Иллюстрация

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

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

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

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

Что нового:

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

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

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

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

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

Установка дополнения стандартна в основной своей части и своеобразна в интеграционной составляющей.
Скачиваем компонент ниже по ссылке и следуем инструкциям описанным здесь: http://docs.instantcms.ru/manual/addons. Затем самое сложное. Компонент установлен в вашу систему, но его необходимо отобразить пользователю, чтобы он мог с ним взаимодействовать. Для этого в файлах шаблона нужно прописать где компонент, а точнее виджет избранного, должен выводиться. Поэтому в ручную добавляем:
для файлов вывода контента (..\templates\default\content\)
  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>, в котором также выводятся виджет рейтинга, никнейм автора записи, указатель колличества комментариев к записи, блок шаринга и др. информация.
Иллюстрация

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

Теперь добавим возможность формы редактирования пользовательских тегов.
дописываем
  1. <?php if (isset($item['favorite_tags'])) { echo $item['favorite_tags']; } ?>
сразу за кодом вывода тегов записи $item['tags']:
  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 элементы поймут =)
Должно получиться так:
  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 строка

И сама форма редактирования тегов. Добавляем код
  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 строка
В принципе здесь не особо критично куда добавить форму, главное не кинуть её в цикл, чтобы она не дублировалась много раз (её одной на страницу вполне будет достаточно).

Последняя небольшая правочка для комментариев.
Добавляем код
  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

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

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

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


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

Что дальше:

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

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

Избранное

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


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

демо-данные:
e-mail: demo@demo.ru
pw: 123456

Внимание!

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

Всем удачи!

P.S. наверное это самый избранный пост по количеству слова “избранное” в тексте laugh
Яндекс.Деньги: 410011791189695
WebMoney: R396646181623
+3
SEOrigin SEOrigin 8 лет назад #
Респект! Прошу опубликовать реквизиты для перечисления благодарностей:)
+2
Romanovcmc Romanovcmc 8 лет назад #
Куда пивом угостить можно?
+5
Dimson Dimson 8 лет назад #
Эта фишка просто обязана быть в движке! Автору +
+3
Def Def 8 лет назад #
+1!!! 100% долждно быть в сборке по дефолту!
+2
MiMoHOD MiMoHOD 8 лет назад #
Ыднозначна должна, учитывая процесс установки :D
+2
R161Net R161Net 8 лет назад #
Как всегда! Огромное Спасибо! +++++
+2
Val Val 8 лет назад #
Всем большое спасибо!
0
F_a_R_i_D F_a_R_i_D 8 лет назад #
Обновление на ранние версии не пойдут?
InstantCMS v2.2.1
+2
Val Val 8 лет назад #
Нет. Для обновления минимальная версия InstantCMS 2.3.0. Как я написал в самом начале поста, в ядро системы внесено ряд исправлений которые используются компонентом.
0
No Name No Name 8 лет назад #
красава!) вот только бы поменьше правки системных файлов,что бы не развалилось при обновлении двиги!!а лучше что бы разработчик в коробку это внёс тогда бы вообще было бы хорошо!
+2
Romanovcmc Romanovcmc 8 лет назад #
дак вроде там только правки шаблона, разве нет?
+2
Val Val 8 лет назад #
Системные файлы и не затрагиваются! Я категорически против внесения различного рода хаков в систему!
Все исправления происходят в шаблоне, и лишь для того чтобы пользователь мог как то взаимодействовать с компонентом, т.е. вы вставляете в шаблон ссылки на добавление/удаление записей в избранное и редактирование пользовательских тегов.
+5
Loadырь Loadырь 8 лет назад #
В таком случае может попробовать добавить pull_request на гитхабе. Вдруг Fuze нечаянно добавит его в очередной релиз.
+1
Dimson Dimson 8 лет назад #
Было бы здорово!
+2
Val Val 8 лет назад #
На случайность от Fuze я не верю))) Уверен что перед смерживанием пулл реквестов идёт тщательный разбор кода!
А наличию подобного функционала в коробке я был бы рад! Но всё зависит от разработчиков)))

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

Таким образом, если вы использовали компонент ранее, вам необходимо обновиться текущей версией, произвести начальную настройку и один раз под учётной записью администратора перейти по ссылке /favorites/repair, и дождаться вывода сообщения об успешном завершении операции.
+2
AndroS AndroS 8 лет назад #
Отличный компонент! Добавил в избранное (+1 к вашему счетчику слов). Однозначно в ядро системы!
+2
ivanish ivanish 8 лет назад #
Обалденно!
+3
Alexprofi Alexprofi 8 лет назад #
Побольше бы здесь таких людей, как Val!
+3
Val Val 8 лет назад #
— Уж очень я какой-то идеальный получился.
— Ничего, жизнь это поправит.
© "Москва слезам не верит"
Здесь очень много отличных людей и прекрасных разработчиков! Поэтому InstantCMS - это нечто большее чем просто система управления контентом joke
+3
Денис Васильевич Денис Васильевич 8 лет назад #
Благодарю за разработку! Использую на своём сайте, добавлял поддержку сего в свои разработки. Так же добавлю поддержку в свои новые компоненты: видео, отзывы. ;)
+4
Val Val 8 лет назад #
И вам большое спасибо за поддержку компонента в своих дополнениях! Очень неожиданно и приятно)))
0
SEOrigin SEOrigin 8 лет назад #
Денис, поскольку в Скайпе Вы меня игнорируете, пользуясь случаем интересуюсь: что там с моим заказом?
0
sosed sosed 8 лет назад #
Почему у меня как только в избраное добавлю статью или новость, в профиле меню избраное не открывается. Белое окно? С комментариев, фото, объявления все нормально, вкладки добавляются. Если отписаться от избранного в новостях, статьях, то в профиле сразу избраное отображает разделы. Где я ошибку мог сделать?
+2
Val Val 8 лет назад #
Код одинаковый для всех типов контента, т.е. ему без разницы, новость это или статья или объявление или еще что... Поэтому если выводяться одни типы контента, а другие нет, то надо посмотреть что есть такого в тех типах контента которые не отображаются? Возможно вы устанавливали какие сторонние дополнения для этих типов контента? Если самим разобраться не получится в чем может быть проблема, напишите мне в личку, будем разбираться...
+3
Val Val 8 лет назад #
ВНИМАНИЕ! Нашелся небольшой баг в компоненте.

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

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

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

P.S. Поменять установочный пакет в разделе дополнений не могу, есть возможность только добавить следующую версию, но думаю не логично из за двух пробелов выкладывать как следующую версию scratch
+2
Val Val 8 лет назад #
Выпущено небольшое обновление. Подробности в конце поста.
Спасибо за найденные баги solntsev и Alekseinet
0
alexswen alexswen 8 лет назад #
Сделал что в описании, решил скачать - скачать не удаётся 404 ошибка, что делать ?
+3
Val Val 8 лет назад #
Попробуйте еще раз, перезалил установочный пакет. Проверил - вроде качается))
+3
alexswen alexswen 8 лет назад #
Всё качает, спасибо
+1
Виктор Виктор 8 лет назад #
Хотел уже начинать переписывать rating с надеждой получить нечто подобное laugh Вовремя заглянул в каталог. Спасибо большое. Отличный компонент smile
0
Виктор Виктор 8 лет назад #
В FireFox 41 ошибка Type error: icms.events is undefined при добавлении или удалении
scratch
+3
Val Val 8 лет назад #
Шаблон сторонний? Проверьте подключение файла ..\templates\default\js\core.js
0
Виктор Виктор 8 лет назад #
Нет, чистый 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
логин: demo@demo.demo
пароль: demodemo
)
+3
Val Val 8 лет назад #
Я зашел по вашим данным и вообще не увидел ни в одном типе контента виджета добавления записи в избранное! =)
Вы провели пост-установочную настройку компонента? Добавление необходимых записей в шаблон и настройку параметров через админ.панель? Прочитайте еще раз что и как надо установить и настроить и проверьте все ли вы сделали.
Как вариант проверьте на моем демо сайте работу компонента. Появляются ли на нем указанные вами ошибки в ваших условиях (браузер, ос и др.).
+3
Виктор Виктор 8 лет назад #
Забыл установить доступ пользователям, затем выяснилось что perms.tpl.php почему-то отсутствовал laugh
На Вашем сайте все супер, а значит я что-то сделал не так. laugh Позже наверное посмотрю. Не соображаю уже popcorn
+4
Val Val 8 лет назад #
Желаю вам успехов в инсталляции и настройке smile
Удачи!
Если будут вопросы, обращайтесь joke
+1
Виктор Виктор 8 лет назад #
Все, разобрался laugh Забыл обновить core.js. sad Спасибо, что подсказали. Я сам еще бы недели две искал в чем причина, пока не забросил laugh
0
Alekseinet Alekseinet 8 лет назад #
Только у меня исчезла звезда после обновления? Потерялася она (
+3
solntsev solntsev 8 лет назад #
Проверьте файл default_item.tpl.php в папке content шаблона на наличие кода избранного.
В ходе обновления, если обновлялись в автоматическом режиме, он заменился.
+1
Alekseinet Alekseinet 8 лет назад #
Да.. вы правы, там было пусто.. Спасибо за подсказку..
+4
Val Val 8 лет назад #
Alekseinet, рад что все разрешилось)) Причина, думаю понятна - старые файлы шаблона затерлись новыми и вместе с ними удалились "ссылки" на виджет избранного в инфобаре)) Такая обратная сторона вносить изменения в "системные" файлы, пусть и шаблона. Но по другому пока никак((

solntsev, спасибо вам за оперативную помощь!
+5
Val Val 8 лет назад #
Немного позже обновлю файлы шаблона для InstantCMS 2.4.0 и выложу их в теме, для тех кто не хочет вручную править)))
+5
Val Val 8 лет назад #
Обновил! smile Качаем по старым ссылкам
0
Dorimen Dorimen 8 лет назад #
А где скачать-то для 2.4? )
+2
Dorimen Dorimen 8 лет назад #
В общем все ок, спасибо большое за компонент )
+2
Val Val 8 лет назад #
Ссылка та же: https://goo.gl/USJyqA (подправленные файлы дефолтного шаблона)
а сам компонент в каталоге дополнений: http://instantcms.ru/addons/favorites.html (обновлялся до 2.4.0 на локалке - все работает)
+2
Def Def 8 лет назад #
Круто! Все работает как часы!!!
0
vikont vikont 8 лет назад #
Все это замечательно! И большое спасибо товарищу Val за очень нужное дополнение!
Но слишком много хака! Поймите правильно, все эти хаки потом боком вылазят при обновлении движка!
Я бы был еще более благодарен, если бы дополнение не требовало никаких хаков! А пока постараюсь обойтись без него.
+5
Val Val 8 лет назад #
vikont:
Но слишком много хака! Поймите правильно, все эти хаки потом боком вылазят при обновлении движка!
А со сторонним шаблоном при обновлении движка ничего не происходит? Ведь можно сказать что не дефолтный шаблон - это тоже хак.
А вообще если подскажите мне как добавить вывод виджета избранного в записи без правок шаблона буду вам благодарен.
0
Андрей Андрей 7 лет назад #
Подскажите в чем может быть проблема?
https://yadi.sk/i/gDNyA3O_3E3GAk
+1
Val Val 7 лет назад #
Это на 2.7.x?
Теоретически не должно быть проблем, т.к. используется стандартный механизм iCMS
Код PHP:
  1. public $useDefaultPermissionsAction = true;
где система сама генерит таблицу доступа групп пользователей.

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

Все никак руки не дойдут обновиться до 2.7.x =( На неделе обязательно сделаю это и смогу что-то определенное сказать если получится воспроизвести проблему.
0
Андрей Андрей 7 лет назад #
Это на 2.7.x?
Да
На других компонентах нет похожей проблемы?
Нет
+1
Val Val 7 лет назад #
Только что обновился до последней версии - iCMS 2.7.1. Проблема не воспроизводится.
Если у вас вопрос ещё не решился пишите в личку.
+1
Val Val 7 лет назад #
Нашел баг в пакете установки! (собственно поэтому не воспроизводилось у меня на локалке). Скачайте еще раз компонент и переустановите его. Проблема должна исчезнуть.
+5
Val Val 7 лет назад #
Друзья, наконец я обновился до актуальной версии InstantCMS (2.7.1) чтобы проверить работоспособность компонента, т.к. в отзывах поступила подобная жалоба. Но к своему сожалению или наверное больше к радости не обнаружил признаков неработоспособности компонента. Все отрабатывает как и задумывалось (создавал связь типов контента, привязывал списком статьи и поочередно добавлял и удалял в избранное).
Отзыв был удален, а по памяти найти его автора не получилось, поэтому прошу всех кто пользуется этим компонентом на версии движка 2.7.1 отписаться здесь или в личку если что-то перестало работать или стало работать как-то иначе. Чтобы я смог увидеть проблему если она действительно есть.
0
Dorimen Dorimen 7 лет назад #
Можете прислать свои файлы для 2.7.1, потому что мне кажется, я запутался при смерживании именно с компонентом "Избранное" smile Почту в личку указал.
0
BonBon BonBon 7 лет назад #
Не кто не пытался допиливать?А именно вывод списка в виджете?не подскажете как реализовать вывод списка в меню?
+1
Pocus Pocus 7 лет назад #
Этот список может быть очень длинным. Зачем его в меню?
Сделайте ссылку в профиль users/{user.id}/favorites
0
BonBon BonBon 7 лет назад #
Можно ограничивать количество...Очень нужно сделать вывод в меню виджетом или вручную,готов заплатить!
0
ParadoX ParadoX 7 лет назад #
Великолепный мод, который по идее должен быть в коробке. Спасибо вам!
Столкнулся со следующим багом, который связан с мои шаблоном. У вас блок
Код 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. <?php if ($show_bar){ ?>
  2. <div class="info_bar">
  3. <?php if ($ctype['is_favorites']){ ?>
  4. <div class="bar_item bi_favorite">
  5. <?php echo $item['favorite_widget']; ?>
  6. </div>
  7. <?php } ?>
  8. <?php if ($is_tags){ ?>
  9. <div class="tags_bar">
  10. <?php echo html_tags_bar($item['tags']); ?><?php if (isset($item['favorite_tags'])) { echo $item['favorite_tags']; } ?>
  11. </div>
  12. <?php } ?>
  13. </div>
  14. <?php } ?>
Если использовать в таком виде, то перестаёт работать "добавление своих тегов". Если переделать <div class="info_bar"> в <div class="info_bar tags_bar">, то "добавление своих тегов" начинает работать, но не работает "Звёздочка".
Прошу помощи.
+1
Val Val 7 лет назад #
не проверял но попробуйте добавить следующий код в файл ..\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 версия.
0
ParadoX ParadoX 7 лет назад #
К сожалению эффекта никакого. Так же не работает "звёздочка". Вернее она работает (и в моём случае), но стоит нажать её дважды, всё зависает. Если info_bar без tags_bar, то "звёздочку можно жать сколь угодно раз."
+1
Val Val 7 лет назад #
@AHTEPO:
но стоит нажать её дважды, всё зависает
Странно... При нажатии на "звездочку" к ней добавляется класс disabled и при повторном нажатии идет проверка на наличие этого класса, именно для предотвращения многократных кликов и зависаний
favorites.js
Посмотрите в консоли браузера при кликах по виджету избранного появляются ли у вас какие ошибки?
0
ParadoX ParadoX 7 лет назад #
Ошибок нет. Со звёздочкой ситуация следующая: если она выкл (серенькая), то скрипт "выдерживает" 2 клика - вкл+выкл и зависает. Если звёздочка уже была вкл (жёлтенькая), то скрипт выдерживает 1 клик - выкл.
Ладно, придётся вынести теги за приделы бара. Может это и к лучшему... Всё равно премного благодарен!
0
BonBon BonBon 7 лет назад #
Ребят помогите сделать чтобы если нет избранного контента не кидало на 404 а была надпись типа "нет избранных страниц" Ссылку на избранное вывожу принудительно не в профиле.Или может есть возможность обернуть ссылку чтобы ее не было видно пока не добавишь запись...Немного заплачу на развитие компонента
0
BonBon BonBon 7 лет назад #
Заплачу тому кто реализует..На заказ..
0
BonBon BonBon 7 лет назад #
Заплачу тому кто реализует..На заказ..
0
BonBon BonBon 7 лет назад #
Всем спс сам сделал
+1
Kvazar Kvazar 7 лет назад #
Подскажите, пожалуйста, а как сделать вот этот текст ссылкой на Избранное?
+1
Val Val 7 лет назад #
Все языковые переменные хранятся в файле ..\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']);
0
Kvazar Kvazar 7 лет назад #
Спасибо!

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

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

И 1 и 2 можно но только через написание кода))
1. Приведет к тому что пользователь будет добавлять все подряд в избранное лишь бы увеличить свой рейтинг. Тогда смысл компонента потеряется.
2. Путем простых манипуляций нельзя. Нужно пилить отдельный функционал который будет независимо от контента отслеживать внутри нужные фотографии.
0
Kvazar Kvazar 7 лет назад #
1) Чтобы не его рейтинг увеличивался, а того пользователя, чей комментарий или материал добавили в избранное.
А даже если и ваш вариант, то это все равно плюс к поведенческому)
2) Понял!)
+1
Val Val 7 лет назад #
Kvazar:
1) Чтобы не его рейтинг увеличивался, а того пользователя, чей комментарий или материал добавили в избранное.
Отличная идея! Взял себе на заметку. Обязательно реализую что-то подобное в будущих версиях компонента.
0
erni21 erni21 5 лет назад #
Подскажите, не могу применить его к Instant maps? В чем может быть проблема? Спасибо!
+1
Val Val 5 лет назад #
Трудно сказать не зная что вы делали и как))
Если Instant maps как-то связан с типом контента, то добавление виджета в шаблон этого типа контента должно было работать. В противном случае без доработки кода связать не получится.
0
Сергей Сергей 5 лет назад #
Всех с Новым Годом! Всего,Всего, хорошего в 2019 году. И Вопрос к Автору, планируется в будущем реализация настройки "Стили для других списков" .Конкретно интересует для вкладки избранное в профиле?
+1
Val Val 5 лет назад #
Добавлять отдельные стили или шаблоны для списка избранного не планировал. Сейчас список выводится ровно так же как установлено для контента в его настройках.
+1
Сергей Сергей 5 лет назад #
Благодарю, за ответ и конечно поддержку ваших разработок. Всё работает отменно.
0
kolecha kolecha 5 лет назад #
Поскажите пожалуйста. при выводе на главной ТОЛЬКО ВИДЖЕТЫ, все равно выводит пустой блок article, если выводится хоть один виджет контента в котором он задействован. (версия инсты 2.12.2). Есть способ решить эту проблему?
0
Val Val 5 лет назад #
Есть.
1. Добавляете виджет "HTML блок" на главную страницу.
2. В настройках снимаете галочку "Показывать заголовок" и выбираете "Шаблон контейнера" - wrapper_plain и "Шаблон виджета" - html_plain
3. Прописываете в Опциях:
Код CSS:
  1. <style>
  2. article {
  3. display: none;
  4. }
  5. </style>
Сохраняете и готово.
0
kolecha kolecha 5 лет назад #
можно и так, спасибо)
+1
Сергей Сергей 3 года назад #
Notice: Undefined index: attributes in Горит место кнопок во вкладке в профиле, только при включенной отладке. Если выключить отладку то кнопки Новости, Статьи и.т.д. соответственно нормальные.
0
Сергей Сергей 3 года назад #
2.14.1 забыл указать
+1
Сергей Сергей 3 года назад #
Вот из кнопки выдавил public_html/templates/default/assets/ui/menu.tpl.php on line 30
0
Sonat Sonat 2 года назад #

Подскажите, как поставить на шаблон modern.

+2
Алексей Т Алексей Т 2 года назад #

Это не пойдет?

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

Избранное

от Fuze
Демо Скачать 1 082 загрузки

0
Sonat Sonat 2 года назад #

Не подойдет.

Компонент от Val заинтересовал именно тем что позволяет пользователям ставить свои метки к чужим материалам. 

0
Алексей Т Алексей Т 2 года назад #

Поясните 

0
Sonat Sonat 2 года назад #

После установки компонента, кроме добавления в закладки, есть возможность делать свои метки, причем не только к своим но и чужим статьям. 

Изображение

0
Алексей Т Алексей Т 2 года назад #

понял

+1
Sonat Sonat 2 года назад #

Мне самому такого компонента на многих сайтах не хватает. Например в каталоге дополнений Instantcms я мог бы делать свои метки например: не поставилось, купил, good, только для старой версии. Или тут же ставить адреса сайтов в виде меток где ставил это дополнение...

Причем в профиле у меня появляется  не просто куча закладок а свой миникаталог / облако тегов, где все разложено по полочкам, которые я себе и организовал.

+1
Panda58dev Panda58dev 2 года назад #

Попробуйте черкануть на форуме в «дополнения», авось кто возьмёт и напишет шаблон для modern-а. Системная часть то написана.

+2
Викторыч Викторыч 2 года назад #

Да просто напишите Val'у в личку… он совсем недавно был здесь. Надеюсь, что обновит до современного этот компонент.

0
Panda58dev Panda58dev 2 года назад #

Ну так тоже можно :)

0
Sonat Sonat 2 года назад #

OK. Попробую как появится написать.

+1
Panda58dev Panda58dev 2 года назад #

А вот этот модуль Вам не подойдёт?

0
Sonat Sonat 2 года назад #

Это вроде тоже что предложил Алексей только на гитхаб… нет — тут нету нужного мне функционала.

Еще от автора

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