Zau4man
Сейчас надо найти все вхождения типа
<script> ... </script>
<script> ... </script>
выставите корректный часовой пояс сайта.
Ну и также сделайте для пользователя, под которым заходите.
Предлагаю всем, кому интересен подобный функционал, принять участие в обсуждении в данной теме.
Разработал компонент, который предназначен для постинга в телеграм каналы. Поддерживает автоматический репост при создании записи, постинг по cron или ручной постинг текста. К ручному постингу предлагается возможность выбрать запись из добавленных на сайт, а затем отредактировать ее до публикации.
Компонент обладает большим набором опций, который позволяет гибко настраивать внешний вид репоста. Настраивается тип репоста (текст или фото с подписью), настраивается размер отправляемого текста и др.








Подробно о компоненте можно прочитать тут www.zau4man.ru/moi-komponenty/komponent-ztelegram-posting-v-telegram-k.html
Прошу высказаться тех, кому компонент интересен, пожелания, замечания. Возможно, у вас есть идеи по расширению функционала. Возможно, есть иное видение логики компонента, его настроек.
Ztelegram - ручной и автоматический постинг в телеграм
Как совершить покупку?
Запрос на покупку можно сделать в личку на сайте instantcms, e-mail: mail@zau4man.ru или через форму слева на этом сайте.Или оплатите указанную сумму на кошелек Yoomoney (бывшие Яндекс деньги) 41001346743476, указав в комментарии ваш e-mail и цель покупки.Установочный пакет и подробная инструкция будут высланы на указанный e-mail.Подключите его в main.tpl.php шаблона modern или дочернего.
Заменив
<?php $this->addMainTplJSName('core'); ?>
<?php $this->addMainTplJSName(['core','core2']); ?>
var icms = icms || {}; icms.forms = (function ($) { this.initFilterForm = function(selector){ var form = $(selector); var filter_panel = $(form).closest('.icms-filter-panel'); var filter_link_open = $(filter_panel).find('.icms-filter-link__open'); var filter_link_close = $(filter_panel).find('.icms-filter-link__close'); $(filter_link_open).on('click', function (){ $(this).addClass('d-none'); $(filter_panel).find('.icms-filter-container').removeClass('d-none'); return false; }); $(filter_link_close).on('click', function (){ $(filter_panel).find('.icms-filter-container').addClass('d-none'); $(filter_link_open).removeClass('d-none'); return false; }); var change = function (){ var sbutton = $(form).find('.buttons button[type = submit]'); $(sbutton).prop('disabled', true).addClass('is-busy'); var o = _this.getFilterFormParams(form); var submit_uri; if(Object.keys(o).length > 0 || $(form).find('.cancel_filter_link').length === 0){ submit_uri = $(form).attr('action'); } else { submit_uri = $(form).find('.cancel_filter_link').attr('href'); } o.show_count = 1; var query_string = $.param(o); $.get(submit_uri+'?'+query_string, function(result){ if(result.filter_link){ $(form).data('filter_link', result.filter_link); } else { $(form).removeData('filter_link'); } setTimeout(function (){ $(sbutton).removeClass('is-busy').val(result.hint).prop('disabled', false).find('span').text(result.hint); }, 200); icms.events.run('icms_content_filter_changed', form); }, 'json'); }; var delay = function () { var timer = 0; return function () { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function () { change.apply(context, args); }, 500); }; }; $(form).find('select, input[type=checkbox]').on('change', change); $(form).find('input:not([type=checkbox]), textarea').on('input', delay()); $(form).find('.buttons button[type = submit]').on('click', function (){ var filter_link = $(form).data('filter_link'); if(filter_link){ window.location.href = filter_link; return false; } var submit_uri = $(form).attr('action'); var o = _this.getFilterFormParams(form); var query_string = $.param(o); if(query_string.length > 0){ window.location.href = submit_uri+'?'+query_string; } else { var cancel_filter_link = $(form).find('.cancel_filter_link').attr('href'); if(!cancel_filter_link){ cancel_filter_link = submit_uri; } window.location.href = cancel_filter_link; } return false; }); }; return this; }).call(icms.forms || {},jQuery);
console.log('Yo');
Все, метод выполняется из вашего core2.js
Можете убедиться, модифицировав метод в core.js тем же console.log, но с другим текстом. Оно не будет выведено.
Не забывайте после изменений увеличивать счетчик во вкладке Интерфейс Настроек сайта, чтобы браузер грузил ваши измененные файлы, а не из кеша.
Можно сделать свою дочернюю тему, как описано по этой ссылке, и тогда ваши правки при обновлении не затрутся
Можно писать свой код в templates/modern/scss/theme/_custom.scss
И тогда при сохранении опций в админке стили будут сгенерированы заново, и ваши стили будут добавлены в templates/modern/css/theme.css
Думал это просто в двойке реализовать
это можно реализовать. Отдельным компонентом. В котором продумать конструктор виджетов. Или просто сделать коллекцию виджетов со 100500 настроек. И получим свой элементор. А с генерацией css из scss в 2.14.0 можно даже темы этим виджетам продумать… Пересохранил — и сайт синий вместо оранжевого.
Но тут надо много думать, чтобы все получилось гибко, удобно, современно.
Только делать надо не с помощью стандартных виджетов html или текст, а писать свои. Посмотрите доки docs.instantcms.ru/dev/widgets
Допустим, в верстке у вас есть текстовый блок — его можно сверстать обычным виджетом
Блок карты тоже можно сверстать обычным виджетом
А вот для блока faq можно использовать виджет /blogs/blog-na-vsyu-golovu/vidzhet-faq-chasto-zadavaemye-voprosy.html
И такие нестандартные виджеты можно написать под любой блок
Следующим шагом будет понимание, что одних виджетов маловато, например, для вывода списка из 4-5 товаров для покупки. И тогда вы можете написать небольшую админку для владельца сайта, в которую вынести управление содержимым.
И т.п.
По захламленности создал тикет на гите github.com/instantsoft/icms2/issues/1274 Присоединяйтесь
И может вас обрадую — при удалении пользователя вся его папка в upload будет удалена.
1. Установить виджет instantcms.ru/addons/wdaddcss.html чтобы добавить вывод той части кода adsence, которую требуется разместить в header
2. С помощью стандартного виджета HTML-блок разместить код adsence там, где нужен вывод рекламного блока
У обоих виджетов на вкладке Доступ выбрать показ только на мобильных
Если планируете тестировать на ПК с помощью инструментов разработчика браузера, помните, что устройство пользователя запоминается в cookies. Поэтому после их включения и уменьшения размера экрана, не забывайте очищать куки.
cms_content_relations и cms_content_relations_bind
Таки что-то чистили ручками?
Какие связи у данного типа контента?
Тут получается Угадай мелодию. Вы что-то сделали, что-то поломалось. Без подробностей помочь не получится.
Предположу, что осталась некорректная связь в Связях типов контента. Или удалили ее некорректно.
Судя по коду, ошибка вряд ли связана именно с "Дата начала публикации"
Там ниже должен быть список файлов, которые были открыты при появлении ошибки, типа такого
По нему сразу будет ясно, если в ошибке виноваты сторонние компонент
Последние вызовы:
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
