Zau4man

Zau4man

+1110
Репутация
19741
Рейтинг
#1 ishop закрывается 10 декабря 2020 в 15:52
Ну так все продолжают узаконивать прием денег. Выводят за борт физиков и работают только с юриками и самозанятыми…
#2 Не добавляется объект в instantmaps после обновления. 10 декабря 2020 в 11:45
Region67, ну так стоило дождаться обновления maps для работы с 2.14.0
Сейчас надо найти все вхождения типа

  1.  
  2. <script>
  3. ...
  4. </script>
  5.  
и обернуть их так

  1.  
  2. <?php ob_start(); ?>
  3. <script>
  4. ...
  5. </script>
  6. <?php $this->addBottom(ob_get_clean()); ?>
  7.  
это программа минимум.
#3 [ЕСТЬ РЕШЕНИЕ] Настройка даты и время в админке 8 декабря 2020 в 19:24
@rshabalin, Настройки — Даты
выставите корректный часовой пояс сайта.

Ну и также сделайте для пользователя, под которым заходите.
#1 Ztelegram - ручной и автоматический постинг в телеграм 7 декабря 2020 в 10:15

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

Компонент обладает большим набором опций, который позволяет гибко настраивать внешний вид репоста. Настраивается тип репоста (текст или фото с подписью), настраивается размер отправляемого текста и др.

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



Подробно о компоненте можно прочитать тут www.zau4man.ru/moi-komponenty/komponent-ztelegram-posting-v-telegram-k.html


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

Ztelegram - ручной и автоматический постинг в телеграм
Компонент

Ztelegram - ручной и автоматический постинг в телеграм

Купить 2000 руб.

#4 [ЕСТЬ РЕШЕНИЕ] Переопределение методов core.js 6 декабря 2020 в 15:43
Максим, создайте свой core, например, core2.js
Подключите его в main.tpl.php шаблона modern или дочернего.

Заменив

  1.  
  2. <?php $this->addMainTplJSName('core'); ?>
  3.  
на

  1.  
  2. <?php $this->addMainTplJSName(['core','core2']); ?>
  3.  
Оставьте там только содержимое нужного вам метода.


  1.  
  2. var icms = icms || {};
  3.  
  4.  
  5. icms.forms = (function ($) {
  6.  
  7. this.initFilterForm = function(selector){
  8.  
  9. var form = $(selector);
  10.  
  11. var filter_panel = $(form).closest('.icms-filter-panel');
  12.  
  13. var filter_link_open = $(filter_panel).find('.icms-filter-link__open');
  14. var filter_link_close = $(filter_panel).find('.icms-filter-link__close');
  15.  
  16. $(filter_link_open).on('click', function (){
  17. $(this).addClass('d-none');
  18. $(filter_panel).find('.icms-filter-container').removeClass('d-none');
  19. return false;
  20. });
  21. $(filter_link_close).on('click', function (){
  22. $(filter_panel).find('.icms-filter-container').addClass('d-none');
  23. $(filter_link_open).removeClass('d-none');
  24. return false;
  25. });
  26.  
  27. var change = function (){
  28.  
  29. var sbutton = $(form).find('.buttons button[type = submit]');
  30.  
  31. $(sbutton).prop('disabled', true).addClass('is-busy');
  32.  
  33. var o = _this.getFilterFormParams(form);
  34. var submit_uri;
  35.  
  36. if(Object.keys(o).length > 0 || $(form).find('.cancel_filter_link').length === 0){
  37. submit_uri = $(form).attr('action');
  38. } else {
  39. submit_uri = $(form).find('.cancel_filter_link').attr('href');
  40. }
  41.  
  42. o.show_count = 1;
  43.  
  44. var query_string = $.param(o);
  45.  
  46. $.get(submit_uri+'?'+query_string, function(result){
  47. if(result.filter_link){
  48. $(form).data('filter_link', result.filter_link);
  49. } else {
  50. $(form).removeData('filter_link');
  51. }
  52. setTimeout(function (){
  53. $(sbutton).removeClass('is-busy').val(result.hint).prop('disabled', false).find('span').text(result.hint);
  54. }, 200);
  55. icms.events.run('icms_content_filter_changed', form);
  56. }, 'json');
  57.  
  58. };
  59.  
  60. var delay = function () {
  61. var timer = 0;
  62. return function () {
  63. var context = this, args = arguments;
  64. clearTimeout(timer);
  65. timer = setTimeout(function () {
  66. change.apply(context, args);
  67. }, 500);
  68. };
  69. };
  70.  
  71. $(form).find('select, input[type=checkbox]').on('change', change);
  72. $(form).find('input:not([type=checkbox]), textarea').on('input', delay());
  73.  
  74. $(form).find('.buttons button[type = submit]').on('click', function (){
  75.  
  76. var filter_link = $(form).data('filter_link');
  77.  
  78. if(filter_link){
  79. window.location.href = filter_link;
  80. return false;
  81. }
  82.  
  83. var submit_uri = $(form).attr('action');
  84.  
  85. var o = _this.getFilterFormParams(form);
  86.  
  87. var query_string = $.param(o);
  88.  
  89. if(query_string.length > 0){
  90. window.location.href = submit_uri+'?'+query_string;
  91. } else {
  92.  
  93. var cancel_filter_link = $(form).find('.cancel_filter_link').attr('href');
  94.  
  95. if(!cancel_filter_link){
  96. cancel_filter_link = submit_uri;
  97. }
  98.  
  99. window.location.href = cancel_filter_link;
  100. }
  101.  
  102. return false;
  103.  
  104. });
  105.  
  106. };
  107.  
  108. return this;
  109.  
  110. }).call(icms.forms || {},jQuery);
  111.  
Меняйте его. Например, добавив в метод initFilterForm

  1.  
  2. console.log('Yo');
  3.  
Откроем страницу с фильтром, и увидим в консоли



Все, метод выполняется из вашего core2.js
Можете убедиться, модифицировав метод в core.js тем же console.log, но с другим текстом. Оно не будет выведено.

Не забывайте после изменений увеличивать счетчик во вкладке Интерфейс Настроек сайта, чтобы браузер грузил ваши измененные файлы, а не из кеша.
#5 [ЕСТЬ РЕШЕНИЕ] Где и как подключить CSS 2.14 3 декабря 2020 в 20:11
zeffs, можно сделать так, как описано тут /blogs/horoshie-mysli/kak-ne-poterjat-pravki-v-shablone-delaem-dochernii-shablon-4549.html в блоке "Подключим свой файл стилей". Но тогда придется при каждом обновлении править main.tpl.php

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

Можно писать свой код в templates/modern/scss/theme/_custom.scss
И тогда при сохранении опций в админке стили будут сгенерированы заново, и ваши стили будут добавлены в templates/modern/css/theme.css
#6 Что за меню list_actions_menu? 3 декабря 2020 в 10:31
#7 Как натянуть html лендинг на движок 23 ноября 2020 в 15:40

Думал это просто в двойке реализовать

Dost

это можно реализовать. Отдельным компонентом. В котором продумать конструктор виджетов. Или просто сделать коллекцию виджетов со 100500 настроек. И получим свой элементор. А с генерацией css из scss в 2.14.0 можно даже темы этим виджетам продумать… Пересохранил — и сайт синий вместо оранжевого.

Но тут надо много думать, чтобы все получилось гибко, удобно, современно.
#8 Оптимизация таблицы _ratings 23 ноября 2020 в 13:17
Или удалить половину записей, самую старую. Вряд ли пользователи займутся поиском "старого" контента и повторного голосования за него.
#9 Как натянуть html лендинг на движок 23 ноября 2020 в 11:40
Dost, виджетами самое то.
Только делать надо не с помощью стандартных виджетов html или текст, а писать свои. Посмотрите доки docs.instantcms.ru/dev/widgets

Допустим, в верстке у вас есть текстовый блок — его можно сверстать обычным виджетом
Блок карты тоже можно сверстать обычным виджетом
А вот для блока faq можно использовать виджет /blogs/blog-na-vsyu-golovu/vidzhet-faq-chasto-zadavaemye-voprosy.html
И такие нестандартные виджеты можно написать под любой блок

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

И т.п.
#10 Тип контента, комментарии, изображения 22 ноября 2020 в 23:13
Попробуйте сами перечитать ваш текст. Ничего непонятно. Непонятно, какой ответ вы ожидаете.
По захламленности создал тикет на гите github.com/instantsoft/icms2/issues/1274 Присоединяйтесь

И может вас обрадую — при удалении пользователя вся его папка в upload будет удалена.
#11 Отображение рекламы на мобильном 19 ноября 2020 в 15:01
МитяЙ,
1. Установить виджет instantcms.ru/addons/wdaddcss.html чтобы добавить вывод той части кода adsence, которую требуется разместить в header
2. С помощью стандартного виджета HTML-блок разместить код adsence там, где нужен вывод рекламного блока

У обоих виджетов на вкладке Доступ выбрать показ только на мобильных



Если планируете тестировать на ПК с помощью инструментов разработчика браузера, помните, что устройство пользователя запоминается в cookies. Поэтому после их включения и уменьшения размера экрана, не забывайте очищать куки.
#12 Ошибка в версии 2.13.1 при включении Управление сроком публикации 18 ноября 2020 в 14:14
Vladimir,
cms_content_relations и cms_content_relations_bind

Таки что-то чистили ручками?
Какие связи у данного типа контента?

Тут получается Угадай мелодию. Вы что-то сделали, что-то поломалось. Без подробностей помочь не получится.
#13 Ошибка в версии 2.13.1 при включении Управление сроком публикации 18 ноября 2020 в 12:12
Vladimir, а с каким типом контента у вас связан текущий тип контента?
Предположу, что осталась некорректная связь в Связях типов контента. Или удалили ее некорректно.

Судя по коду, ошибка вряд ли связана именно с "Дата начала публикации"
#14 Ошибка в версии 2.13.1 при включении Управление сроком публикации 18 ноября 2020 в 10:25
Vladimir, cкопируйте, пожалуйста, весь лог ошибки.

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

Последние вызовы:

cmsModel->getItem() @ /system\core\model.php: 1746
cmsModel->getItemById() @ /system\controllers\users\model.php: 164
modelUsers->getUser() @ /system\core\user.php: 163
cmsUser->loadAuthUser() @ /system\core\user.php: 94
cmsUser->__construct() @ /system\core\user.php: 28
cmsUser::getInstance() @ /system\core\controller.php: 152
cmsController->loadCmsObj() @ /system\core\controller.php: 167
cmsController->__get() @ /system\core\action.php: 21
cmsAction->__get() @ /system\controllers\widgets\hooks\page_is_allowed.php: 11
onWidgetsPageIsAllowed->run() @ /system\core\controller.php: 718
cmsController->runExternalHook() @ /system\core\controller.php: 677
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.