Loadырь

Loadырь

Быть лучшим - не значит быть достаточно хорошим.
+1239
Репутация
4851
Рейтинг
+5
Loadырь Loadырь InstantCMS - организация рекламной кампании 2 года назад

Вот вам недалёкий пример платного компонента на конкурентной cms. Там и стоимость в 4-5 раз больше, чем самое дорогое дополнение тут и лицензии, как вы любите и договора с юр. лицами, и сроки поддержки в 3 (три (ТРИ)) рабочих дня  и прочее и т. п. Но это не мешает им ломаться при обновлении движка самой cms. Это не дает никакой уверенности, что это будет работать в будущем. Это просто есть в каталоге дополнений той cms и всё. Хотите, используете, не хотите, не используете. Успеете решить все вопросы за их 3 (три (ТРИ)) рабочих дня тех. поддержки — супер, не успеете — либо ваши проблемы, либо готовьте сумму на продление тех. поддержки.

Подобное можно встретить на любых других cms. Я к тому, что движок вообще никак не связан с каталогом дополнений. В каталоге дополнений предлагаются разного рода решения для расширения возможностей самой cms от пользователей этой системы. И чем больше каталог, тем лучше. Но их работоспособность зависит только от заинтересованности в этом их разработчиков. При этом оно не обязано работать на всех версиях движка, на всех шаблонах существующих и ещё не опубликованных и поддерживать все сторонние компоненты, и работать на протяжении существования всемирного интернета. Только у вас есть выбор — использовать это дополнение или искать другие варианты решения поставленной задачи на конкурентной cms.

+2
Loadырь Loadырь InstantCms - организация рекламной кампании 2 года назад

Тянуть две версии движка (что есть и премиум) для Fuze это не вариант. Сегодня команда есть, а завтра она может матерясь разбежаться ))), оставив Fuze одного с кучей версий премиумов. Но если будет команда разработчиков, тогда вопрос: «Зачем им Fuze?». Ведь можно премиум разработку тянуть и без него. Ту же электронную коммерцию заваять они сами смогут, используя движок в качестве фреймворка и выдавать его за премиум компонент. Например, как интернет магазин на битрикс24 с crm системой по 99 000 р. в год.

0
Loadырь Loadырь InstantCms - организация рекламной кампании 2 года назад

Это была шутка, если что )))

+1
Loadырь Loadырь InstantCms - организация рекламной кампании 2 года назад

В последнем ролике после ракеты не хватает космонавта, как на главной. Наш посыл не «лететь быстро непонятно куда», наш посыл — «болтаться среди звёзд», как lokanaft на главной (ИМХО).

Изображение

+4
Loadырь Loadырь Styler - простой добавлятор встроенных CSS стилей к элементам 2 года назад

Надо было через прямую черту ( | ) сделать в одном поле. Тогда бы точно всё было бы в порядке. Есть великий соблазн удалить класс из третьей строки первого поля и стили из второй строки второго поля и вот я уже бегу на форум с вопросом «Сайт сломали, но я ничего не делал, как быть?». 

Автор понимает, что встроенные стили  -это плохо и не современно

Главное, чтобы пользователи это понимали.

0
Loadырь Loadырь Напишем поле для пометки неактуальных записей 2 года назад

Тут если админ, то код с 96 по 117 строки можно пропустить не выполняя.

  1. // Если меняем под администратором, то причина всегда такая
  2. if ($this->cms_user->is_admin) {
  3. $reason = 'Статус изменен решением администрации сайта';
  4. } elseif ($reason_id) {
  5.  
  6. // Поле мы получили ранее и делать это еще раз как минимум странно
  7. // Поэтому я убрал получение поля еще раз
  8. // Теперь получаем причины
  9. // Вот так было ранее
  10. // $reasons = $field['options']['reason'] ? preg_split('/\\r\\n?|\\n/', $field['options']['reason']) : '';
  11. // Но лучше это сделать иначе
  12. // Пустой массив по умолчанию
  13. $reasons = [];
  14. // Если опция есть
  15. if (!empty($field['options']['reason'])) {
  16.  
  17. // Для распарсивания строк есть функция в движке
  18. $reasons = string_explode_list($field['options']['reason']);
  19. }
  20.  
  21. // Теперь проверяем, что переданный id причины есть
  22. if (!empty($reasons[$reason_id])) {
  23. $reason = $reasons[$reason_id];
  24. }
  25. }
  26.  

Оптимизация 😄

+4
Loadырь Loadырь Доработка Конструктора форм 2 года назад

Если создать хук с названием render_page, то можно выводить шорткоды в любом html коде и не только в виджетах.

+3
Loadырь Loadырь Напишем поле для пометки неактуальных записей 2 года назад

Я специально сделал не так, как предложил Fuze, чтобы послушать критику по этому поводу. Как говорится, век живи — век учись))

Ну так слушайте ))):

Ваш новый код:

  1. if (!isset($this->item) || !$this->item['id'] || !$this->item['ctype_name'] || !$this->item['user_id']) {
  2.  
  3. return '';
  4.  
  5. }

Не решает проблему с нотисами. $this->item может сушествовать, но может не содержать id и прочих элементов массива. Как говорил Fuze надо делать так

  1. if (empty($this->item['id'])) {
  2.  
  3. return '';
  4.  
  5. }

empty не выдает нотисов при отсутсвии элементов массива, но при этом вернет false если $this->item не существует. То есть вы одним условием проверяете сразу оба варианта.

$this->item['user_id'] можно не проверять, так как оно всегда идет в $this->item, если есть $this->item['id'].

$this->item['ctype_name'] в последних версиях движка тоже нет смысла проверять (оно есть, если есть $this->item['id'] даже в профилях пользователей), но вы его впоследствии отбросили.

То же самое тут

  1. if ($reasons && isset($reasons[$reason_id])) {
  2.  
  3. $reason = $reasons[$reason_id];
  4.  
  5. }

Достаточно так

  1. if (!empty($reasons[$reason_id])) {
  2.  
  3. $reason = $reasons[$reason_id];
  4.  
  5. }

Начало там такое же, поэтому сделаем всё то же самое:

Дублирующийся код желательно выносить в отдельный метод/файл

0
Loadырь Loadырь Напишем поле для пометки неактуальных записей 2 года назад

Надо переделать и не просто с комментариями, а с подробным объяснением почему именно так в данном случае, а не иначе. Это будет «весомый пендаль» в сторону саморазвития сторонних разработчиков.

+1
Loadырь Loadырь Напишем поле для пометки неактуальных записей 2 года назад

👍 Наконец-то, хоть кто-то объяснил и показал, как это надо делать. Всё оказывается читаемо, легко и просто. Вообще не понимаю, за что тут люди дерут по 500 р. и выше 😂

+1
Loadырь Loadырь iCore - облегченная версия InstantCMS. 2 года назад

А мы просто ждём. Молча так, тихо, ненавязчиво ЖДЁМ ))

+2
Loadырь Loadырь Бесплатный шаблон LTE 3 года назад

Поднимите версию php до 7.3 или выше, если это возможно.

+1
Loadырь Loadырь Сворачивание полей в фильтре 3 года назад

Можно же сделать «покультурнее». Есть переменная $filters

0
Loadырь Loadырь Стиль списка для типов контента 3 года назад

Есть же поле «Категории контента» в списке полей в 2.15.1 github.com/instantsoft/icms2/blob/master/system/fields/category.php

0
Loadырь Loadырь InstantCMS 2.14.3 и обновлённый официальный сайт 3 года назад

У автора в файлах профиля, но я почему-то сам его там не вижу. Видать не готово ещё обновление.

+1
Loadырь Loadырь InstantCMS 2.14.3 и обновлённый официальный сайт 3 года назад

Прикручивать не надо. При обновлении форума до версии 2.4.8, автоматика всё сделает за вас. 

0
Loadырь Loadырь InstantCMS 2.14.3 и обновлённый официальный сайт 3 года назад

В требованиях к этому дополнению говорится следующее

Для добавления комментариев в избранное — InstantCMS 2.15.0 и выше (или текущая с GitHub).

0
Loadырь Loadырь Добавление фото из альбома фотогалереи 3 года назад

Требуем данную плюшку для «народного» редактора TinyMCE 😁

А ещё лучше вынести данную фичу в виде жирной кнопки перед всеми ректорами через эту опцию github.com/instantsoft/icms2/blob/master/wysiwyg/redactor/wysiwyg.class.php#L82

Как-то так yadi.sk/d/p6MWX56SIe83CA

 

0
Loadырь Loadырь Вывод изображений в модальном окне загруженными WYSIWYG редактором. 3 года назад

А зачем правка нужна в файле редактора, которая слетит минимум после следующего релиза? Можно же в popup_img.js указать селектор типа «content img». Или там не только класс добавляется к картинкам?

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.