Комментарии

0
Shuma Shuma → Поле "Мои социальные сети" 1 год назад

Было бы хорошо, если бы при заполнении поля ссылка можно было вводить логин/никнейм, а не полностью ссылка

0
0
Fuze Fuze → InstantCMS 2.17.0 1 год назад

У меня нормально показывается

Изображение

0
pupsik pupsik → InstantCMS 2.17.0 1 год назад

Только что проверил с мобильного. Нормально

.Изображение

0
F_a_R_i_D F_a_R_i_D → InstantCMS 2.17.0 1 год назад

С мобильного, демо.

Изображение

0
maximal maximal → Платежная система Карта СНГ, Польши и Китая для компонента Биллинг ICMS 2 1 год назад

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

Изображение

+1
Zau4man Zau4man → Про дочерние шаблоны в 2.17.0 1 год назад

Тут не подскажу. С обычными правами все работает… На моем демо вот папка 

Изображение

вот файл demo.bergorod.ru/templates/modern/css/sections/gg.css

Аналогично работает на локалке...

0
Hold my beer Hold my beer → Про дочерние шаблоны в 2.17.0 1 год назад

Подскажите пожалуйста, почему может не генериться файл

templates/ваш_шаблон/css/sections/имя_папки.css

на хостинге?

На локальном сервере все хорошо, но на хостинге директория /sections/ и файл .css не появляется. Какие права и на каких папках/файлах должны быть? Уже всю голову сломал себе.

P.S. Спасибо такой за подробный гайд, помогло разобраться с .scss файлами.

0
F_a_R_i_D F_a_R_i_D → Платежная система Карта СНГ, Польши и Китая для компонента Биллинг ICMS 2 1 год назад

Благодарю за дополнение. Возникает 2 вопроса:

  1. Можно ли выбрать только одну валюту, например, рубли?
  2. Можно ли настроить так, чтобы комиссию за оплату платил не пользователь, а владелец сайта? Например, пользователь пополняет баланс на 500 рублей, а в итоге с комиссией 520 рублей. 
+1
Fuze Fuze → Поле "Мои социальные сети" 1 год назад

буду признателен за пояснения к коду

Без проблем :) Вот ещё на скорую руку.

  1. new fieldList('networks', array(
  2. 'title' => 'Доступные социальные сети',
  3. 'is_multiple' => true,
  4. 'default' => implode(',', array_keys($this->network_titles)),
  5. 'items' => $this->network_titles,
  6. 'hint' => 'Разрешенные социальные сети появятся в опциях поля'
  7. ))

Зачем в default вы ставите строку через implode, так и оставили бы массив array_keys($this->network_titles), вы же указали is_multiple.

  1. $allowed_networks = (array)$this->getOption('networks', array_keys($this->network_titles));
  2. // Никогда не сработает, вы выше приводите к массиву
  3. if(is_string($allowed_networks)) {
  4. $allowed_networks = explode(',', $allowed_networks);
  5. }
  1. public function validate_value($value) {
  2.  
  3. if (empty($value)) {
  4. return true;
  5. }
  6.  
  7. if (!is_array($value)) {
  8. return ERR_VALIDATE_INVALID;
  9. }
  10.  
  11. $allowed_networks = $this->getOption('networks', array_keys($this->network_titles));
  12.  
  13. if (count($value) > count($allowed_networks)) {
  14. return ERR_VALIDATE_INVALID;
  15. }
  16.  
  17. foreach ($value as $item) {
  18.  
  19. // Все поля обязательные?
  20. foreach (['url', 'icon', 'text'] as $field_name) {
  21. if (empty($item[$field_name]) || !is_string($item[$field_name])) {
  22. return ERR_VALIDATE_INVALID;
  23. }
  24. }
  25.  
  26. if (!in_array($item['icon'], $allowed_networks)) {
  27. return ERR_VALIDATE_INVALID;
  28. }
  29.  
  30. if (mb_strlen($item['url']) > 255) {
  31. return ERR_VALIDATE_INVALID;
  32. }
  33.  
  34. if (!preg_match('/^(?:https?:\/\/)?(?:[\w\-]+\.)+[a-z]{2,}(?:\/.*)?$/i', $item['url'])) {
  35. return ERR_VALIDATE_INVALID;
  36. }
  37.  
  38. // буквы, цифры, пробел
  39. if (!preg_match('/^[\p{L}0-9 ]+$/ui', $item['text'])) {
  40. return ERR_VALIDATE_INVALID;
  41. }
  42. }
  43.  
  44. return true;
  45. }
0
Александр Александр → Поле "Мои социальные сети" 1 год назад

спасибо, а для профиля пользователя использовать можно?

+1
Pechora.Dev 🐻 Pechora.Dev 🐻 → Поле "Мои социальные сети" 1 год назад

Благодарю за пояснения, обязательно это учту в будущем.

Преобразования json_decode я бы вынес в отдельный метод

Да, это тоже разумно. Буду тренироваться на новом функционале поля, буду признателен за пояснения к коду

+2
Fuze Fuze → Поле "Мои социальные сети" 1 год назад

Неплохое начинание. Понимаю, что писалось быстро, но всё же позволю себе прокомментировать.

Преобразования json_decode я бы вынес в отдельный метод, вы дублируете механизм всё время.

Вместо

  1. $this->addCSS('templates/default/css/socials.css');

Лучше использовать

  1. $this->addTplCSSName('socials');
  2. // Если подключаете в классе поля
  3. cmsTemplate::getInstance()->addTplCSSName('socials');

Поскольку так вы подключите независимо от шаблона.

Иконки лучше подключать так:

  1. <?php html_svg_icon('brands', $social['icon']); ?>

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

  1. protected $use_language = true;

Вы не используете языковые фразы, это лишнее.

  1. // Вместо этого
  2. htmlspecialchars($url, ENT_QUOTES);
  3. // Используйте это
  4. html($url, false);

Методы storeCachedValue и hookAfterAdd в поле лишние, вы не используете денормализацию. Это же касается и метода applyFilter:

  1. public function applyFilter($model, $value) {
  2. if (!$value) { return $model; }
  3. return $model->filterLike($this->name, "%{$value}%");
  4. }

Не критики ради и без негатива, исключительно пояснения, чтобы вы быстрее разобрались с InstantCMS.

0
Zau4man Zau4man → InstantCMS 2.17.0 1 год назад

Надеюсь, что появится опция или настройки прав доступа

Если нет, это будет мой первый компонент после выхода 2.17.1

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

0
No Name No Name → InstantCMS 2.17.0 1 год назад

Полностью отключить этот функционал как то можно? Хорошо бы в настройки доступа это внести, спасибо 

0
Fuze Fuze → InstantCMS 2.17.0 1 год назад

Менять владельца могут те, кому разрешено редактирование.

0
Pawell Pawell → Генератор Комментариев (ChatGPT) 1 год назад

Здравствуйте. А есть ли возможность «прикрутить» к компоненту Мнения: instantcms.ru/addons/opinions-for-instantcms2.html данный компонент?

0
482 482 → InstantCMS 2.17.0 1 год назад

я в админке этого не нашел. 

+1
Andrey Andrey → Кинонлайн 1 год назад

СПАСИБО огромное автору за работу!

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.