Loadырь

Loadырь

Быть лучшим - не значит быть достаточно хорошим.
+1247
Репутация
4894
Рейтинг
#1 Как проверить есть ли на хостинге изображение InstantCMS2 2 июня 2015 в 07:29
Тут может быть два варианта. В случае с аватаром то использовать
  1. function html_avatar_image($avatars, $size_preset='small')
в случае с отдельными картинками, то лучше этот
  1. function html_image($image, $size_preset='small', $alt='')
Но правки вносить удобнее в этот метод
  1. function html_image_src($image, $size_preset='small', $is_add_host=false)
В нём все значения изображения уже получены. В нём есть код
  1.  
  2. if (isset($image[ $size_preset ])){
  3. $src = $image[ $size_preset ];
  4. } else {
  5. return false;
  6. }
  7.  
меняем его на что-то типа
  1.  
  2. if (isset($image[ $size_preset ])){
  3. $src = $image[ $size_preset ];
  4. } else {
  5. if (isset($image[ 'normal' ])){
  6. $src = $image[ 'normal' ];
  7. } else {
  8. return false;
  9. }
  10. }
  11.  
Вместо return false; можно продолжать условия до значения micro. Но в данном случае это нормально если названия пресетов известны и не изменятся со временем.
Второй вариант это копнуть глубже — записывать названия пресетов с путями отсортированные по ширине пресета в БД и выводить их потом с проверкой в цикле поочереди начиная с большего.
#2 Вывод полей в произвольных местах 31 мая 2015 в 20:34
Я бы сделал так:
  1. <?php if ($user->isUserInGroups($user->groups, $field['groups_read'])) { continue; } ?>
всё таки пользователь может быть в нескольких группах одновременно.
#3 [ЕСТЬ РЕШЕНИЕ] Как обработать хук удаления пользователя в InstantCMS 2 28 мая 2015 в 20:21
Да видимо без хака не обойтись. Ради спортивного интереса, пробовали ставить в файле \system\controllers\admin\actions\users_delete.php вместо этого
  1. $user = cmsEventsManager::hook('user_delete', $user);
это
  1. $user = cmsEventsManager::hookAll('user_delete', $user);
Интересно, ваш хук успеет получить данные о записях, пока хук контента их удаляет smile
#4 [ЕСТЬ РЕШЕНИЕ] Как обработать хук удаления пользователя в InstantCMS 2 28 мая 2015 в 19:41
Может зайти с другой стороны? При удалении контента записи удалить ссылки из вашего компонента.
#5 Работа изображений в instantcms 28 мая 2015 в 19:34
Добавил корректировки в файл files.js на чистой системе. Создал объявление. Добавил фотографию, добавил две дополнительные фотографии. В файловой системе создалось несколько файлов картинок разного размера. Удалил одну дополнительную фотографию. Количество файлов фото не уменьшилось, а в объявлении исчезло одно фото из отображения. Удалил второе доп фото. Количество файлов не уменьшилось. Удалил основную фотографию количество файлов в папке \upload\000\u1\000\ уменьшилось. Но остались файлы фото от дополнительных фотографий. Создал другое объявление. Также добавил три фотки. Удалил объявление, файлы картинок этого объявления из папки \upload\000\u1\000\ удалились все. Вывод. Надо что-то подправить в обработке поля "Набор изображений" на удаление файлов.
#6 Свойства и вывод их на странице в списке? 28 мая 2015 в 10:05

вывод свойств на странице списка, возможно?

jorgovich
Возможно. Небольшая правка файла фронтенда контента и вывод в файле шаблона (сейчас правда выглядит жутковато). Свойства выводятся везде кроме корневой категории. То есть тут они не выведутся.
#7 Проблема с добавлением видео YouTube через редактор Live 28 мая 2015 в 06:11
• Mike •, этот плагин позволяет добавлять на сайт своё видео в форматах MPEG 4, Ogg, and WebM videos. С youtube он никак не связан.
#8 Проблема с добавлением видео YouTube через редактор Live 27 мая 2015 в 14:32
Решается просто.
файл \wysiwyg\live\scripts\common\webyoutube.htm строка 463, заменить это
  1. var youMatch = [6];
на это
  1. var youMatch = youRegexMatches[6];
#9 Удаление компонентов в InstantCMS 2.2.1 27 мая 2015 в 06:57

А уж если хочется владельцу чистоты, невинности и целомудрия, пусть заново сайт инсталлирует и установит только те компоненты и виджеты, которые необходимы.

HiAndy
"Чистота залог здоровья". На действующем проекте переустановка всей системы выглядит проблематичнее, чем удаление одного ненужного (неработоспособного) виджета или компонента.
#10 Удаление компонентов в InstantCMS 2.2.1 26 мая 2015 в 21:33

В типах контента можно отключать типы контента. По-моему этого более чем достаточно.

HiAndy
Вы путаете типы контента и компоненты в двойке. ТС я так понял понаустанавливал в одно время кучу разных сторонних виджетов и компонентов, а теперь настало время лишнее убрать из системы дабы "глаза не мозолили". Ну или что-то в этом роде.
На данный момент удалять нужно, как сказал PIN. Ручками, при этом желательно системные компоненты не трогать. Они сильно завязаны с системой.
Берём инсталлятор,
удаляем файлы такие же как в нём из вашего сайта,
идём в базу данных в таблице controllers удаляем строку с выбранным компонентом,
идём в таблицу widgets смотрим id удаляемого виджета,
запоминаем id, удаляем строку выбранного виджета,
идём в таблицу widgets_bind удаляем все строки, у которых widget_id равно id удалённого ранее виджета.
Как-то так (и разумеется не забываем про бэкап файлов и БД).
#11 Не поменялась версия после ручного обновления 26 мая 2015 в 09:42
Смотрите, что не так с правами на файл или с самим файлом. У меня меняется без проблем и файл и содержимое файла
#12 Не поменялась версия после ручного обновления 26 мая 2015 в 09:11
В обновляторе по моему нет такого файла, он создаётся или перезаписывается в процессе автоматической установки обновления. Можете в этом файле поставить нужную вам версию. Пробуйте.
#13 Не поменялась версия после ручного обновления 26 мая 2015 в 09:00
В файле \system\config\version.ini у вас какая версия отображается?
#14 Поле: изображение - добавить описание 25 мая 2015 в 16:19

как добавить описания для изображений, загружаемых полями "Изображение" и "Набор изображений"

Alteste
1. В файле шаблона типа поля (\templates\default\assets\fields\images.tpl.php) добавляете дополнительное поле для ввода вашего описания к изображению
2. В файле \templates\default\js\images-upload.js добавляете обработчик для этого поля, который добавит содержимое этого поля к пресетам изображения.
3. В файле \system\fields\images.php в функции
  1. public function store($value, $is_submitted, $old_value=null)
Добавляете обработку данного поля и занесение его в базу данных.
4. В функциях
  1. public function parse($value) и public function parseTeaser($value)
настраиваете шаблоны вывода картинок на сайте в записи и в списке. И там указываете в каком месте нужно выводить ваше описание(alt, title, сверху, слева, снизу и т.п.).

Для типа поля "Изображения" аналогично.
#15 Поле: изображение - добавить описание 25 мая 2015 в 14:01
Alteste, Лучше делайте отдельные типы полей на основе полей "Изображение" и "Набор изображений". Так у вас не "сломаются" стандартные типы этих полей. Скажу вам честно, много интересного вас ждёт на этом пути.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.