Обновление InstantCMS 2.8.1

13.68K

Зачастили мы что-то :)

Здравствуйте, друзья!

Новый релиз не столь глобальный, но мы спешили скорее им с вами поделиться. Причин несколько, во-первых, это, наконец-то, интегрированный в админку каталог дополнений, а во-вторых, накопилось не мало правок кода по улучшению и исправлению недочётов в вами всеми любимой CMS ;-)

Каталог дополнений в админке

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

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

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

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

Рекомендации разработчикам дополнений

Уже многие заметили, что в нашем каталоге дополнений появилась ссылка "Актуальные", а при добавлении/редактировании дополнения появилась возможность указать поддерживающие версии InstantCMS. С выходами каждого обновления InstantCMS, в этой опции будет появляться новая версия InstantCMS. Мы рекомендуем разработчикам проверять совместимость и указывать её, поддерживая свои дополнения актуальными.

Мы крайне рекомендуем собирать пакеты согласно документации, указывать корректно тип дополнения и НЕ писать без явной на то необходимости в установочном install.sql запросы, касающиеся внесения виджетов и/или компонентов в соответствующие таблицы. При этом, CMS всё же постарается автоматически определить такие, не совсем корректные пакеты и скорректировать установку. В случае с типизацией пакетов, все эти действия будут выполнены автоматически. Однако, могут быть пакеты, которые включают в себя и компонент и виджеты. В таких случаях пакет должен типизироваться как компонент, а таблицы виджетов уже заполняться вручную написанием запросов в install.sql.

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

Также, обратите внимание на блок info — там добавлена новая строка, где можно указывать id вашего дополнения в официальном каталоге. Крайне рекомендуем заполнять эту строку.

Улучшение установщика пакетов

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

На странице ввода параметров FTP при установке дополнений мы добавили функционал проверки соединения, который всегда подскажет ошибки и дерево файлов и каталогов корня соединения, что убирает все трудности с указанием путей до директории с установленной InstantCMS.

Прочие изменения

  • традиционное, постепенное улучшение юзабилити админки;
  • форма опций настроек типов контента теперь более компактная и менее "пугающая";
  • виджет "Список пользователей" теперь может выводить заданные поля профилей;
  • исправлена ошибка с Chosen;
  • большая часть GIF спиннеров/лоадеров заменена на CSS3 аналоги;
  • метод ядра getWidgetOptionsForm перенесен во фронтэнд админки, для формы в целом добавлен хук "widget_options_full_form";
  • исправлена неверная ссылка на модерацию комментариев в письме;
  • при удалении пользователя (при удалении им самим), его активность скрывается из общего списка;
  • механизм управления группами при добавлении/редактировании записи типа контента вынесен в хуки компонента "Группы";
  • исправлена проблема с виджетом "Фильтр контента" в части определения категории. Теперь свойства будут показываться корректно;
  • исправлена ссылка на пагинацию в разделе модерации;
  • исправлено удаление просроченных записей из корзины;
  • по ссылке /photos теперь показываются все фото из всех альбомов;
  • каждый виджет теперь можно привязать к своему файлу лайоута;
  • улучшен механизм кэширования на файлах;
  • переписан и исправлен механизм работы кеширования Memcache: теперь сайты на одном сервере не будут пересекаться;
  • окончательно исправлена работа виджетов на страницах типа контента, указанного по умолчанию;
  • в права для компонента "Группы" добавлено правило "Управление правами добавления контента";
  • библиотека GeSHi обновлена до актуальной версии и корректно работает на PHP7;
  • библиотека PHPMailer обновлена до актуальной версии;
  • исправлены мелкие ошибки и неточности.

Изменения в шаблонах

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

Как установить обновление

Перед началом обновления обязательно сделайте резервную копию своего сайта и дамп базы данных. Обновляться лучше на копии сайта, поднятом локально на ПК или иным подобным способом. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.

Отключите кеширование в настройках сайта.

Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их.

При возникновении "белого экрана" категорически читать здесь.

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

Автоматическая установка

  1. Включите режим отладки в админке.
  2. Воспользуйтесь функцией "Проверить обновления" в панели управления InstantCMS 2.
  3. Система сама обнаружит обновление, предложит скачать его и установить.
  4. Для установки потребуется указать реквизиты для доступа по FTP.

Ручная установка

Убедитесь, что вы используете InstantCMS 2.8.0 (версию можно посмотреть внизу любой страницы в админке или на главной странице админки в соответствующем блоке).

  1. Включите режим отладки в админке;
  2. Загрузите архив с обновлением.
  3. Перейдите в панель управления сайтом;
  4. Перейдите в раздел компоненты;
  5. Нажмите установить пакет дополнения;
  6. Очистите кеш браузера;
  7. Сверните окно браузера;
  8. Все содержимое папки package из архива обновления, скаченного в п.1 загрузите в корень вашего сайта;
  9. Вернитесь в свернутое в п. 5 окно браузера, нажмите F5 на клавиатуре и выберите архив, который вы скачали в п.1;
  10. На странице «Информация о пакете» нажмите установить;
  11. На странице ввода реквизитов ftp поставьте чекбокс "Пропустить этот шаг" и нажмите "Установить";
  12. Выключить режим отладки в админке;
  13. Обновление завершено.

Заключение

Спасибо всем, кто указывал на ошибки, писал пожелания на GitHub и предлагал решения.

Если кто-то не нашел в этом релизе то, что давно ждёт — не отчаиваетесь, наверняка в новых релизах и ваши пожелания будут реализованы, всего лишь вопрос времени. Ну а кому совсем не терпится с внедрением нужного, на ваш взгляд, функционала — мы открыты к мотивированным доработкам.

Спасибо, что выбираете InstantCMS!

Поддержите проект

Вы можете стать официальным спонсором или оказать другую поддержку. Вы также здорово поможете, если поставите звезду на GitHub.

0
lesterkey lesterkey 7 лет назад #
dance Вот это новость!!!
0
lakomet lakomet 7 лет назад #
Спасибо. По каталогу дополнений в админке, есть много предложений, может создадите отдельную тему на форуме? Чтоб здесь потом не выискивать эти предложения.
+2
Fuze Fuze 7 лет назад #
Вы можете сами создать такую тему, почему нет.
0
letsgo letsgo 7 лет назад #
Спасибо Fuze и всем кто помогали. Заметил, что и мои пожелания учтены. В целом большой набор улучшений.
0
Денис Васильевич Денис Васильевич 7 лет назад #
Спасибо! )
+2
Zau4man Zau4man 7 лет назад #
Поздравляю всех новым релизом! Ура-ура-ура!!!
0
Денис Васильевич Денис Васильевич 7 лет назад #
Ура! ))
+2
letsgo letsgo 7 лет назад #
Думаю, было бы неплохо обдумать добавление Instantcms в репозитарий ISP 5 в быструю установку скриптов.
0
Fuze Fuze 7 лет назад #
Боюсь это не от нас зависит, они же решают что туда добавить.
+3
letsgo letsgo 7 лет назад #
Там список уже большой, могу списаться с ними и спросить, так и сделаю. Когда напишут что надо - отправлю в личку, там уже сделаете.
+1
Fuze Fuze 7 лет назад #
Окей, жду. Если это не великая бюрократия, с удовольствием интегрируемся.
0
Dorimen Dorimen 7 лет назад #
letsgo, получилось сделать что-то в этом направлении? тоже заинтересован в таком решении. если Вы не занимались, то я смогу попробовать с ними переговорить
+1
letsgo letsgo 7 лет назад #
Я им отправил письмо, жду ответ. Вероятно отправлю еще одно, неплохо если и вы напишете им. Но писать надо именно в кабинете ISPSystem а не хостера своего.
0
Dorimen Dorimen 7 лет назад #
Понял. Тоже напишу. Спасибо.
0
Александр Сергеевич Александр Сергеевич 7 лет назад #
Я об этом с ними ещё два года назад разговаривал. Им нужно какой-то установочный файл сделать, в их спец формате, и делать это должен разработчик, а не они.
0
lakomet lakomet 7 лет назад #
Боюсь это не от нас зависит, они же решают что туда добавить.
На вебинаре ISPmanager, мне сказали, что нужно договариваться с apsstandard.org, чтоб они добавили InstantCMS в свой каталог, тогда InstantCMS, будет в каталоге Web-скриптов для установки из панели.
0
F_a_R_i_D F_a_R_i_D 7 лет назад #
При обновлении
0
F_a_R_i_D F_a_R_i_D 7 лет назад #
0
Fuze Fuze 7 лет назад #
Такое поле не создаётся при обновлении. Очистите папку /upload/install и повторите попытку.
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Спасибо, много чего полезного добавили.
0
SmartControl SmartControl 7 лет назад #
Спасибо, шикарное обновление.

Как-будто при обновлении компонента addon_id не записывается в базу данных (и компонент не помечается установленным)
0
Fuze Fuze 7 лет назад #
Прочитайте пожалуйста раздел "Рекомендации разработчикам дополнений", укажите в своем манифесте addon_id согласно документации.
0
SmartControl SmartControl 7 лет назад #
addon_id не обновляется
0
Fuze Fuze 7 лет назад #
При обновлении - да, не обновляется. Невнимательно прочитал вас.
0
SmartControl SmartControl 7 лет назад #
Да, проверил еще раз все. Обновляю компонент руками. закидываю файл с пакетом. В пакете указан addon_id, но он не записывается в БД.

Кину по пунктам:

1. Время последнего обновления некорретное " Последнее обновление: 17 часов назад " - на самом деле обновил только что. Понял почему.. Видимо в каталоге не пишутся часы-минуты-секунды. И 17 часов это от полуночи.

2. Я не могу обновить компонент, который у меня уже установлен. При "установке" через сервис запускаются запросы из install.sql из пакета и выскакивает ошибка (логично). А при установке руками не записывается addon_id. Пока решение вижу только если руками записать addon_id в БД. Может есть вариант сделать так, что если компонт уже установлен, то загружать обновление, а не установку с нуля?

3. При установке из каталога появляется форма для выбора файла либо указания URL - на самом деле ничего указывать не нужно, потому что установка с каталога.
0
skewes skewes 7 лет назад #
Fuze:
Зачастили мы что-то :)
Это не то слово! shock
Вы просто "издеваетесь" (в хорошем смысле этого слова) zst
Я в шоке!!! Опять обновление! crazy
Красавчики ребята! Респект! v v v
0
DeeMon DeeMon 7 лет назад #
Обновил два сайта без проблем. Теперь шаблоны надо править...
0
SE7EN SE7EN 7 лет назад #
просветите пожалуйста неуча: после обновления с включённым режимом отладки получид вот это
Notice: Undefined index: template_layouts in C:\OpenServer\domains\aksucity.info\system\controllers\widgets\model.php on line 351
+1
Fuze Fuze 7 лет назад #
Судя по всему, вы просто заменили файлы, без установки пакета в админке.
0
SmartControl SmartControl 7 лет назад #
кэш обновить не помогает?
0
SE7EN SE7EN 7 лет назад #
нет
0
SE7EN SE7EN 7 лет назад #
просветите пожалуйста неуча: после обновления с включённым режимом отладки получил вот это Notice: Undefined index: template_layouts in C:\OpenServer\domains\aksucity.info\system\controllers\widgets\model.php on line 351

несколько раз пробовал обновляться все-равно песня таже (((
0
islyaeFF islyaeFF 7 лет назад #
Обновился без проблем. Спасибо!
0
TTT TTT 7 лет назад #
Спасибо! Особенно за каталог дополнений!
0
fincheck fincheck 7 лет назад #
Извиняюсь, а за проезд куда платить?
0
vikont vikont 7 лет назад #
Сайт обновился без проблем!
А вот дизайн Каталога дополнений явно хромает... или так и должно пока быть?
https://yadi.sk/i/6_degGT23MhKRP
+1
SmartControl SmartControl 7 лет назад #
Кэш, ctrl + f5
0
vikont vikont 7 лет назад #
Не помогает. Даже с другого браузера зашел... та же картина..
+2
Fuze Fuze 7 лет назад #
Переключите шаблон админки на дефолтный. Или в своем шаблоне удалите папку template/шаблон/controllers/admin/
0
vikont vikont 7 лет назад #
СПАСИБО!!!!! Заработало! Что еще надо удалить со своего шаблона???
Похоже за 2 года наросло всякого добра мешающего нормальной работе....
0
SmartControl SmartControl 7 лет назад #
за два года вышли версии 2,3.........2,81 - тут только мержить файлы) В первом посте есть про это информация в блоке " Изменения в шаблонах"
0
islyaeFF islyaeFF 7 лет назад #

не кликабельны кружочки. Кликабельны только лейблы
По привычке тыкал, думая, что это радиобаттон smile
0
vikont vikont 7 лет назад #
Прикольно! Пока я не удалял папку admin из своего шаблона template/шаблон/controllers/admin/ радиокнопки были кликабельные!
Значит что то надо вернуть из дефолтного шаблона в свой. Хотя админка и так на дефолтном.
0
Алексей Т Алексей Т 7 лет назад #
Кто ставил с ноля?
При установке пишет

Хотя на папку стоят права 777 sad
0
Алексей Т Алексей Т 7 лет назад #
Проблема в кеше браузера.
Спасибо за очередную версию smile
0
ermakover ermakover 7 лет назад #
Спасибо авторам движка за быстрое исправление недочётов и ошибок.

Это как урок некоторым разработчикам дополнений, которые деньги берут, а потом либо месяц прячутся и ещё угрожают недовольным обновления не посылать, либо прячутся насовсем хотя их "поделки" после обновления перестали работать.
0
Dorimen Dorimen 7 лет назад #
Подскажите, пожалуйста, а раньше была такая замечательная опция в Инстант2 - выводить в случае пустой аватарки цветную подложку и букву? Почему-то она в последних версиях по-умолчанию выключена и не ясно как ее включить ) Спасибо.
+2
ermakover ermakover 7 лет назад #
..\system\libs\template.helper.php

Строка 254
function html_avatar_image($avatars, $size_preset='small', $alt='', $is_html_empty_avatar=true){
0
Однако@ Однако@ 7 лет назад #
Спасибо за обновление. Мне бы такую работоспособность.
Кто ставил эту версию ответьте пожалуйста
1. не появился ли вывод в фильтре поля цвет?
2. есть ли ограничение на создание групп (которые сообщества). Например позволить пользователям создавать только по одной группе? Не могу найти такую настройку.
Пожалуйста если не трудно ответьте кто может, сейчас нет возможности поставить движок и проверить. Спасибо.
Олег Васильевич я Олег Васильевич я 7 лет назад #
Комментарий удален
0
Def Def 7 лет назад #
Странно, обновился. В настройки, компоненты, установку компонентов, настройку компонентов, типы контента - дает входить и редактировать.

А вот в виджеты, пользователи, контент - выдает 500 ошибка. Включал отладку, но она не показывает все равно. Выдает также 500 ошибку.
0
Def Def 7 лет назад #
разобрался. был удаленный компонент сеопейдж, но файлы остались на сервере. все ок теперь!
0
denis denis 7 лет назад #
Дорогие друзья. Вы просто крассавчики! Продолжайте в том же духе!
0
ermakover ermakover 7 лет назад #
Кнопка "Показать больше" появилась в фотографиях, в дополнениях в админке, эх такую бы к любому типу контента в списки вместо пагинации cry
+2
SmartControl SmartControl 7 лет назад #
Вместо нельзя иначе страницы выпадут из индекса. Нужно совместить - чтобы для поисковых ботов обязательно осталась обычная пагинация.
0
ermakover ermakover 7 лет назад #
Я заметил, что страницы списков такого типа: https://site.ru/board?page=* в вебмастере Яндекс не считает значимыми и даже удаляет из индексации.
Яндекс интересуют именно страницы единиц контента или категория контента. Так как у меня объявлений очень много, я даже закрыл в робот.тхт ссылки https://site.ru/board?page=* для каждой категории.
Может я и не прав, но вроде как пока всё ОК с индексацией.
+1
Fuze Fuze 7 лет назад #
Этак кнопка для фото появилась не в этом релизе, а существенно раньше.
@SmartControl:
Вместо нельзя иначе страницы выпадут из индекса. Нужно совместить - чтобы для поисковых ботов обязательно осталась обычная пагинация.
Дело всё в том, что указанная кнопка для пагинации фото формируется при помощи js, заменяя обычный пагинатор, более того, если вы перейдете по ссылке ?page=2, ту увидите несколько иное в пагинаторе. Иными словами всё сделано продумано.
ermakove:
Так как у меня объявлений очень много, я даже закрыл в робот.тхт ссылки
Всё таки читать много SEO форумов это зло, мера и понимание того, что, зачем и для чего делается должно же присутствовать) Если Яндекс и так определяет, что ему значимо, а что нет (что кстати вызывает много вопросов и не отменяет другие ПС), зачем его еще и на мысль наталкивать?)
Закройте весь сайт в роботс, кроме главной страницы, что уж там smile
+1
vikont vikont 7 лет назад #
Виджет Список пользователей строит простой Список со смещением. Причем при любом расположении, вертикальном или горизонтальном
https://yadi.sk/i/YSWheQ0A3MjQmL
А при стиле Плитка отображаются только аватары.
В закладке Дизайн - Шаблон виджета только один щаблон list
Как все это подправить?
0
Aquarius Aquarius 7 лет назад #
Vikont, вот здесь http://instantcms.ru/freelancers/free вас и других нуждающихся в "подправить" ждут десятки программистов, у которых главная специализация — InstantCMS (на момент копирования ссылки, свободных было 74). Не все вам подойдут по своему узкому профилю, но выбрать и договориться, полагаю, есть с кем.
Другой путь — самому вникнуть в эту тему. Но это, как минимум, намного дольше. И с меньшими гарантиями...
0
vikont vikont 7 лет назад #
Надо не переделывать виджет, а подсказать, почему он из коробки неправильно отображает информацию!
То ли это досадный глючек, то ли возможно какой то конфликт, хотя с таким у Инстанта сталкиваюсь впервые...
А где искать исполнителей хотелок я знаю, спасибо.
0
Fuze Fuze 7 лет назад #
Обновите свой шаблон очевидно. Проблем с виджетом нет.
0
Def Def 7 лет назад #
подскажите пожалуйста, с чем может быть связана ошибка

/system/controllers/content/model.php on line 1484 Notice: Undefined index: cats_hide in /system/controllers/content/model.php on line 1485

Notice: Undefined index: create in /templates/default/controllers/content/category_view.tpl.php on line 52

Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 82
Notice: Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 92
Notice: Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 94
Notice: Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 107

Undefined index: cats_view in /system/controllers/content/model.php on line 1451
Notice: Undefined index: cats_hide in /system/controllers/content/model.php on line 1452
0
Def Def 7 лет назад #
Недочет еще в фотогалерее по загрузке фоток на аяксе

http://prntscr.com/giyk05

показывается кнопка даже когда нет больше фотографий для подгрузки. Лучше ее убирать совсем.
0
Fuze Fuze 7 лет назад #
Кнопка и так убирается. Почему она видна у вас, я не знаю.
+1
Однако@ Однако@ 7 лет назад #
Люди так что есть ли возможность в этой версии ограничить количество создаваемых групп ( сообществ) на человека? Не могу найти такую настройку. Люди спрашивают не знаю что ответить.
Неужели никто этим не озадачивался?

С полем цвет все ясно, похоже в фильтре так и не выводится.
+2
SmartControl SmartControl 7 лет назад #
Люди так что есть ли возможность в этой версии ограничить количество создаваемых групп ( сообществ) на человека? Не могу найти такую настройку. Люди спрашивают не знаю что ответить.

Не вижу подобных проверок при создании группы. И нет хуков при создании, чтобы этим как-то управлять. То есть только влезая в код этого можно достичь.

Fuze, просьба без конкретики - добавляйте, пожалуйста, максимально хуки на все операции. Не знаю как об этом лучше писать - могу на github подниматься вопрос, явно указывая место и хук, который хотелось бы там видеть. Тогда даже если в движке чего-то нет, можно будет допиливать сторонними компонентами, перехватывая события. Хуков не хватает..
0
Fuze Fuze 7 лет назад #
Хуки на правила доступа есть.
Каких хуков не хватает, пишите на гите.
есть ли возможность в этой версии ограничить количество создаваемых групп
Нет такого правила.
0
dwd dwd 7 лет назад #
Поддерживаю @SmartControl и мне кажется вариант "Пишите на гите" не совсем правильный. Вы, как разработчики системы при написании кода должны думать о том, как те, кто пишет дополнения смогут им управлять впоследствии. И не оставлять в коде "неуправляемых" участков. И еще огромная просьба - перестаньте экономить на параметрах хуков, а то в системе полно "недохуков", от которых толку ноль. Вот пример такого "недохука":

Код PHP:
  1. list($ctype, $this->model) = cmsEventsManager::hook('content_list_filter', array($ctype, $this->model));
  2. list($ctype, $this->model) = cmsEventsManager::hook("content_{$ctype['name']}_list_filter", array($ctype, $this->model));
долго и упорно пытался понять почему в этом хуке отсутствует массив $fields, ведь собственно поля и их значения должны быть основным содержимым этого хука(помимо модели). Следом за этим хуком идет обработка полей

Код PHP:
  1. if ($field['is_system'] || !$field['is_in_list'] || !isset($item[$field['name']])) { continue; }
  2. if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { continue; }
  3. if (!$item[$field['name']] && $item[$field['name']] !== '0') { continue; }
но мы не имеем возможности изменить данные массива $fields чтобы нужное нам поле попало под этот набор правил или вышло из под него. Лично мое мнение - каждый хук должен содержать глобальный массив всех параметров системы в текущей точке останова. Это позволило бы значительно сократить количество хуков, повысив их функциональность.
0
SmartControl SmartControl 7 лет назад #
Много букв, спрячу под спойлер
+1
dwd dwd 7 лет назад #
Посмотрел этот метод, там же эти хуки для фильтрации только - они для того, чтобы компоненты могли добавить условия по выборке. А $fields это массив всех полей - если нужно что-то с ним делать, нужен отдельный хук (одно действие = один хук). А вот на сами поля можно действовать и из тех хуков - подкорректировать запрос к БД на получение записей.

Ну вот вам простейший примерчик - допустим мне нужно в зависимости от значения определенного поля убрать с фильтра или добавить в фильтр определенное поле. Будем для этого случая и еще миллиона подобных случаев пилить миллион специальных хуков? Или все-таки сделаем один, но нормальный?
0
Однако@ Однако@ 7 лет назад #
Спасибо понятно.
0
vikont vikont 7 лет назад #
Столкнулся с тем что не полностью инсталлируются дополнения в которых нет файла install.sql
В частности в таблицу cms_controllers не вносятся необходимые данные.
Как исправить?
0
SmartControl SmartControl 7 лет назад #
какие именно данные?
файл install.sql нужен для дополнительных операций с БД, строка компонента вносится в cms_controllers движком, для виджета то же самое.
0
vikont vikont 7 лет назад #
В Компонентах не появляется запись о дополнении. Например о вашем Smart Slider. Естественно я не могу им пользоваться.
0
vikont vikont 7 лет назад #
Это на всех моих сайтах. Сайты на одном хостинге. Заметил в четверг, а сегодня повторилось.
0
SmartControl SmartControl 7 лет назад #
Я проверю. Может быть конкретно для моего дополнения не отрабатывает.
0
vikont vikont 7 лет назад #
Скорее всего проблема у меня, так как в четверг ставил другое дополнение и впервые прозрел... не без помощи Zau4man
Видимо, что то произошло после установки движка 2.8.0.
+1
turza turza 7 лет назад #
Добрый день друзья, может кто подскажет домен у сайта кириллический, подключена Яндекс почта для домена, в настройках самого сайта прописано ещё с версии 2.5 – support@ далее punycode, всё работает исправно.
Но захотели пользователи поменять в аккаунтах, свои E-mail адреса на кириллицу, именно сейчас и в 2.8 .1 и всё тупик – движок прописывает что неверный формат почты. Есть какие мысли?
+2
SmartControl SmartControl 7 лет назад #
Да мысли простые, электронки с кириллицей не проходят валидацию. Решение - изменить функцию, которая проверяет почту на корректность.
0
vikont vikont 7 лет назад #
Уважаемые знатоки и конечно отцы создатели Инстанта!
Кто знает почему при инсталляции дополнений не создается запрос на внесение данных о дополнении в таблицу cms_controllers?
+3
vikont vikont 7 лет назад #
Отчитываюсь перед сообществом во возникшей проблеме, дабы все знали!
И так проблема решена с помощью включения функции PHP parse_ini_file, которая как оказалось по умолчанию отключена!
Теперь в условия работы движка надо включить этот пункт включения функции PHP parse_ini_file.

Всем комфортной работы!
+1
Dorimen Dorimen 7 лет назад #
Почему-то нет опции "Добавить в ленту активности новый комментарий", но есть "Добавить в ленту активности оценку комментария" :)
0
Def Def 7 лет назад #
с чем могут быть связаны эти нотисы?

Notice: Constant LANG_WD_CONTENT_LIST_IMAGE already defined in /system/languages/ru/controllers/content/widgets/list.php on line 5

Notice: Constant LANG_WD_CONTENT_LIST_TEASER already defined in /system/languages/ru/controllers/content/widgets/list.php on line 6

Notice: Constant LANG_WD_CONTENT_LIST_DETAILS already defined in /system/languages/ru/controllers/content/widgets/list.php on line 7
0
Zau4man Zau4man 7 лет назад #
Есть мысль, что у вас стоит виджет вывода контента, который сделан на основе стандартного. Разработчик поленился переименовать константы.
0
Def Def 7 лет назад #
А где можно покопать их, чтобы найти? получается надо смотреть языковые файлы виджетов?
0
SmartControl SmartControl 7 лет назад #
При установке компонента с большим деревом папок выскакивает ошибка
Data too long for column 'files' at row 1

Запрос очень длинный.
+1
Dorimen Dorimen 7 лет назад #
ИМХО, не совсем корректно работает система обновления установленных компонентов:



но

+2
SmartControl SmartControl 7 лет назад #
Она пока работает корректно только при установке новых компонентов и при их последующем обновлении.
0
Vladorld Vladorld 7 лет назад #
Перед публикацией записи возможно сделать предосмотр?
0
Dorimen Dorimen 7 лет назад #
у вас нормально отправляется письмо в восстановлением паролей? у меня что-то перестало...
-4
Андрей Андрей 7 лет назад #
Не знаю - ошибка или нет в файле templates\default\controllers\content\item_bind_form.tpl.php пропущена буква l в слове result-pane или так и должно быть?

Код PHP:
  1. <div class="result-pane">
  2. <div class="loading"></div>
  3. </div>
+1
Ris Ris 7 лет назад #
В стилях, в файле \templates\default\css\theme-content.css тоже написано:
Спойлер
Причем много раз. Значит все правильно.
0
Dorimen Dorimen 7 лет назад #
Есть ли разница, на какой позиции находится событие по сравнению с другими событиями:

например, тут события компонента "НеоМессенджер" и "Черный список" находятся аж на хрен знает каком месте... Можно предположить, что если событие, которое по идее должен заброкировать "Черный список", находится перед ним выше, то оно не будет заблокировано?



или такие события:

+1
Pocus Pocus 7 лет назад #
События, они на то и события, чтобы срабатывать при определённых условиях.
Позиция в списке не является условием.
+2
SmartControl SmartControl 7 лет назад #
Есть ли разница, на какой позиции находится событие по сравнению с другими событиями:
По сравнению с другими событиями разницы нет. Есть разница в позиции относительно других компонентов по этому же событию.

Можно предположить, что если событие, которое по идее должен заброкировать "Черный список", находится перед ним выше, то оно не будет заблокировано?
События друг друга не блокируют.
0
Pocus Pocus 7 лет назад #
Наконец-то и я обновился, но, кажется, не полностью.
Например, в админке, в списке компонентов нет иконки "глаз" чтобы посмотреть файлы. А при удалении компонента, он просто удаляется, не показывая список файлов. (Эти фишки я увидел только в видео от студии Sitestroi).
Обновлялся дважды, автоматом и вручную, результат тот же.
Админка дефолтная, в моем шаблоне папки controllers/admin/ нет.
Есть мысли, что не так?
0
SmartControl SmartControl 7 лет назад #
он просто удаляется, не показывая список файлов
Потому что компоненты установлены ранее и файлы для них движок не знает. Файлы будут отображаться только для тех, которые вы поставите на 2.8.1 - и движок сам запомнит файлы. Пока это не совсем законченный механизм - при обновлениях файлы не дописываются в БД, только при первичной установке.
0
Pocus Pocus 7 лет назад #
Да, чёт я затупил.
Попробовал установку и удаление компонента из каталога - всё работает.
0
SE7EN SE7EN 7 лет назад #
Очень бы хотелось увидеть в будущих выпусках Инстана функцию предпросмотра новости, статьи и т.д. перед публикацией.
0
vikont vikont 7 лет назад #
Вроде бы задавал вопрос, но не вижу его здесь..., повторюсь...
После обновления идут многочисленные ошибки вида

PHP Notice: Undefined offset: 1 in /home/ih332798/public_html/system/libs/spyc.class.php on line 409

Причем этих строк почти столько сколько виджетов на странице!
Пробовал отключать виджеты, часть строк уходит, но эта ошибка даже на стандартные виджеты.

Что и где надо подправить?
+1
SmartControl SmartControl 7 лет назад #
Это не ошибки. Notice - это уведомление.
Возникает из-за запроса несуществующего элемента массива. Можно их отключить для вывода. Например, в htaccess добавить строку
Код PHP:
  1. php_flag display_errors off
Это не исправит причину, но уберет вывод уведомлений на экран.
0
vikont vikont 7 лет назад #
Спасибо! Проблема видимо все в том же что и перед этим, когда проходила не полная инсталляция пакетов.... возможно в базе
отсутствуют таблицы. Точно известно, что уведомления на сайте отсутствуют. Их нет даже среди виджетов меню.

Вопрос в следующем с версии 2.7.0 до версии 2.8.1 были какие либо изменения в базе данных и если были, где найти запросы, чтобы восстановить базу до нужного функционала?
0
vikont vikont 7 лет назад #
Начиная с версии 2.6.0 выполнил все SQL запросы, что были в пакетах обновления в файле install.sql
Количество ошибок резко уменьшилось!
Но в меню пункт Уведомления так и не появился. Принудительное создание ни к чему не привело!
Подскажите, как восстановит уведомления???
0
SmartControl SmartControl 7 лет назад #
Принудительное создание ни к чему не привело!
создание такого пункта {messages:notices}?

пункт уведомления появляется только тогда, когда есть уведомления. Если их нет - он не отображается.
0
vikont vikont 7 лет назад #
1. Этот пункт по старинке находился в Персональном меню, а должен быть отдельным меню. Когда произошли эти изменения я не знаю, но они у меня не произошли из-за отключенной функции PHP parse_ini_file.
Поэтому ищу как исправить!
2. Как выяснилось, при апдейте движка даже из файла install.sql не брались обновления базы!
0
Pocus Pocus 7 лет назад #
Это только вручную (см. 1 абзац 2.7.1), само не исправится, если это обновление а не новая установка.
Еще виджет "комментарии вконтакте" сам не удалится.
+1
Loadырь Loadырь 7 лет назад #
Я вас огорчу, но иногда sql запросы находятся и в файле install.php. Например тут, смотрите $core->db->query(...).
0
vikont vikont 7 лет назад #
Спасибо! Видимо это я и искал. Но меня терзают смутные сомнения что предстоит полная ревизия скрипта и базы!
То есть заново установить скрипт сайта с современной структурой базы. Затем проинсталлировать все используемые дополнения и потом из старой базы перебросить данные в новую...
Это радикальный способ и на его пути масса возможных проблем...
Другой способ есть все исправить?
0
SmartControl SmartControl 7 лет назад #
Сделать бэкап текущей базы.
Скинуть в конфиге версию до последней корректной (до всех косяков), допустим это была 2,6,0.
Хакнуть файл database.php, чтобы после неудачного запроса установка не отваливалась.
Последовательно накатить все последующие обновления.

Это теория, но почему бы и не попробовать. Главное бэкап не теряйте.
Можете подготовить все и скинуть доступы мне в личку - минут 20 смогу выделить поиграться из спортивного интереса.
0
vikont vikont 7 лет назад #
Спасибо за предложение! Если сам не справлюсь постучусь за помощью... smile
0
Loadырь Loadырь 7 лет назад #
Можно "собрать" все запросы из всех файлов install.php всех промежуточных версий от 2.6.0 до 2.8.1 - в один файл install.php и запустить, как пакет обновления. При таком раскладе не исключены ошибки, поэтому отладку такого "пакета обновления" надо проводить на локалке.
0
vikont vikont 7 лет назад #
Знать бы когда начались проблемы... Я думал, что максимум с версии 2.7.0, а на самом деле инстальнулись запросы даже с версии 2.6.0!
Я уже пересобирал и раньше весь движек, но опять таки на хостинге с выключенной функцией PHP parse_ini_file
Странно, как сайт вообще до сих пор работал?!
Fuze уже пообещал, что в следующей версии будет проверка включения этой функции на сервере.
В мастер пакете она уже есть.
0
Скела Скела 7 лет назад #
В одном из сторонних компонентов использовалась строка
Код PHP:
  1. $form = cmsCore::getWidgetOptionsForm($widget['name'], $widget['controller'], $widget['options']);
После обновления с 2.8.0 на эту строку указывается ошибка. Кто подскажет как можно это исправить
Код ОШИБКА:
  1. Fatal error: Call to undefined method cmsCore::widget_options_full_form() in ....php on line 18
+2
SmartControl SmartControl 7 лет назад #
Эта функция находится в компоненте admin (/system/controllers/admin/frontend.php). Если используется в админке, то попробуйте поменять
Код PHP:
  1. $form = cmsCore::getWidgetOptionsForm($widget['name'], $widget['controller'], $widget['options']);
на
Код PHP:
  1. $form = cmsCore::getController('admin')->getWidgetOptionsForm($widget['name'], $widget['controller'], $widget['options']);
Если не в админке, то работать не будет скорей всего(сработает проверка на админа).. Нужно ее продублировать в этом стороннем компоненте.
0
Скела Скела 7 лет назад #
Да - то, что нужно! Спасибо
+1
Dorimen Dorimen 7 лет назад #
0
Pocus Pocus 7 лет назад #
Админка / Каталог дополнений / Установленные - среди прочих присутствует "InstantMaps 2.x" (addon_id = 6).
Но, в отличии от других, у него вместо зелёной кнопки "Компонент установлен" выводится кнопка "Купить за 3500 &#8381;".
С чем может быть связана такая "исключительность" Мапса?
+1
SmartControl SmartControl 7 лет назад #
два варианта
1. для Мапса не прописался addon_id - хотя должен
2. версия Мапса в каталоге НЕ выше и не равна той, что у вас на сайте. В каталоге 2.0.4, у вас какая в списке компонентов отображается?
0
Pocus Pocus 7 лет назад #
Да, вы правы. У меня 2.0.6.
Однако, недочет системы? Надо на github написать.
+2
SmartControl SmartControl 7 лет назад #
Так вас поздравить нужно, это не баг.
У всех 2.0.4 (как в каталоге), а у вас версия из будущего. Я так предполагаю, что R2 после закидывания в каталог еще исправлял какие-то мелкие ошибки (отсюда и версия чуть выше), а в каталоге потом не обновил информацию. Это не баг, это действия конкретного разработчика дополнения.
+1
Pocus Pocus 7 лет назад #
Это не баг, но недочёт системы.
Да, вот так случилось, R2 разослал обновления по почте но каталог не обновил. Забыл.
В принципе, такая ситуация может повториться и с другими разработчиками.
Ничего страшного, конечно, но выглядит не красиво, когда установленный компонент предлагают установит вновь.
0
Эндрю Ua Эндрю Ua 7 лет назад #
Вот создаю сайт на InstantCMS 2.8.1
И хотел бы кое что предложить не значительное для instantcms, но с другой стороны очень удобны
К примеру выбор ширины блока поля а вот высоту выставить в админке данного блока поля нельзя - это в Типы контента\Каталог\Поля\Обтекание
Так же если создать Поле в Категории : Типы контента\Каталог\Свойства\ Добавить поле и в нем выбрать Обязательно к заполнению, то рядом с полем красной звездочки не будет. Как это есть в основных полях.
+1
Эндрю Ua Эндрю Ua 7 лет назад #
+1
SE7EN SE7EN 7 лет назад #
Есть предложение:
Сделать возможность создания своего персонального меню в админке (настраиваемого), чтоб было удобнее по компонентам и настройкам лазить, что-то типа как главное меню на сайте.
+1
Def Def 7 лет назад #
да, тоже хотел предложить. напишите на гитхабе)
0
Grilian Grilian 7 лет назад #
День добрый всем.
Возможно вопрос поднимался, но не нашел.. кто может подсказать:
есть новый тип контента, к нему созданы записи. Тип контента связан с профилем пользователя. Как сделать так, чтобы при регистрации пользователь мог выбирать записи из типа контента? сейчас получается так, что в форме регистрации поле для этого типа создается, но не появляется список записей которые можно выбрать для привязки. Я так понимаю, что это ограничение в правах, тк админ в форме регистрации видит этот список для выбора. Пробовал добавлять права на привязку записей контента всего ко всему для пользователей, но все равно поле не появляется. Как можно обойти?
0
Dorimen Dorimen 7 лет назад #
При переносе проекта на 2.8.1 получил проблему с попаданием в админку.

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

поднял таймаут до 300 - попал в админку (по-умолчанию стоит 30)

curl_exec http://v28.smartcontrol.today/smartslider/version - вот это жрёт всё жто время

wget 'http://v28.smartcontrol.today/smartslider/version'
Resolving v28.smartcontrol.today (v28.smartcontrol.today)... 2400:cb00:2048:1::681b:9a5c, 2400:cb00:2048:1::681b:9b5c, 104.27.154.92, ...
Connecting to v28.smartcontrol.today (v28.smartcontrol.today)|2400:cb00:2048:1::681b:9a5c|:80... failed: Connection timed out.

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

может, необходимо как-то предусмотреть это и установить на уровне самого маркетплейса? вполне достаточно выставить CURLOPT_TIMEOUT,1 (ждать одну секунду), а не "пока не отвалится"
0
Dorimen Dorimen 7 лет назад #
имел ввиду при переносе проекта, который на 2.8.1, с сервера на сервер*
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.