Вход • Регистрация

Всего найдено: 1412

  • 20 августа , редакция: 1724184227
  • Доброго времени суток.

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

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

    Дополню себя )

    Не относитесь к конфигурации mariadb спустя рукава: не верно оставлять дефолтные настройки или слепо копировать чьи то. В-первую очередь настройки зависят от выделяемых ресурсов: количество ядер, оперативной памяти и дискового пространства. Во-вторую очередь от используемого движка и что в таблицах. Обращайте внимание на такие параметры, как key_buffer_size, query_cache_size, tmp_table_size, innodb_buffer_pool_size, innodb_additional_mem_pool_size, innodb_log_buffer_size, max_connections, sort_buffer_size, read_buffer_size, read_rnd_buffer_size, join_buffer_size, thread_stack, binlog_cache_size и так далее. То есть при правильной настройке можно добиться значительного прироста в скорости.

    Искренне желаю успехов.
  • 25 декабря 2021 г.
  • Перед таким обновлением сначала следует отключить кеширование. Сделать резервную копию файлов и базы данных сайта. Затем в админке отключить все кастомизированные темы. После проверить, нет ли ещё чего кастомизированного. Для этого сгенерируйте новую тему в той же админке. Затем отключите сгенерированную тему. Не лишним будет запустить процесс восстановления базы данных. После накатите новые файлы дистрибутива. Запустите процесс восстановления. Это всё просто. Далее ягодки. Таким обновлением вы пропустили массу сценариев поэтапного обновления. Поэтому нужно будет вручную проделать с базой данных и файловой структурой всё то, что отличает её от эталонной версии. Для этого нужно смотреть сценарии обновлений. А уж после поэтапно подключать кастомные темы.

    На мой взгляд, гораздо проще развернуть актуальный дистрибутив и уже внего импортировать кастомные темы, а после инфу из базы данных. Но это кому как.
  • 07 марта 2020 г.
  • Цитата

    TO_DO значит "сделать позже" или "в планах".


    В комментарии к коду обозначен не план на будущие, а то, что реализовано. То есть дефолтное поведение можно перегрузить в любом модуле как угодно. При этом в каждом модуле может быть именно своё поведение.
  • 07 марта 2020 г.
  • Цитата

    проще было не писать этот TO_DO


    Так это и реализовано. Внимательно читайте:

    Цитата

    // TO_DO: если аналагичный метод описан в класс Модуль_action, то будет задействован именно такой метод. По умолчанию задействуется метод в классе Модуль_model. То есть при необходимости можно перегрузить дефолтное поведение, создав аналогичный метод в класс Модуль_action.
  • 05 марта 2020 г. , редакция: 1583395307
  • Цитата


    Что делать?



    Скачайте оригинальный дистрибутив DIAFAN.CMS. Распакуйте его. Скопируйте из дистрибутива файл includes/database.php на хостинг. Ошибка исправится сама собой. Либо используйте оригинальный код cms.
  • 13 октября 2020 г.
  • Всем доброго времени суток.

    Цитата
    Да, такая же ситуация. Ничего не помогает, версия системы последняя. Помог только старый модуль postman.
    Хостинг Timeweb


    Несколько раз проверил отправку почтовых уведомлений, используя последнюю версию DIAFAN.CMS. Все сообщения отправляются успешно. Полагаю, что при обновлении сайта возник конфликт оригинального и кастомизированного кодов CMS. Для решения такого конфликта необходим доступ к такому сайту.
  • 16 февраля 2020 г.
  • Выявлена и исправлена проблема, мешающая работе фоновых процессов сайта. Например, могли не отправляться уведомления. Причина в специфике настроек некоторых хостингов. То есть при определённых настройках не передается заголовок Authorization, необходимый для фоновых процессов.

    Если уведомления отправляются адресату, то следующая ниже информация для Вас не актуальна. То есть настройки используемого хостинга не препятствуют передачи/получению заголовка Authorization.

    В версию 6.0.12.5 внесены соответствующие изменения, позволяющие обойти описанные выше ограничения. Но если Вы обновили сайт и проблема вновь повторяется, то обязательно скачайте актуальный дистрибутив DIAFAN.CMS. Извлеките из архива дистрибутива файл .htaccess и разместите его в корневой директории Вашего сайта взамен имеющегося. В большинстве случаев этого будет достаточно.
  • 16 февраля 2020 г.
  • Цитата

    чтобы не просто название изображение товара экспортировалось, а полная ссылка на оригинал фото (или та, что лежит в папке large)


    В версии 6.0.12.4 экспортируется не название файла, а URL-ссылка на изображение.
  • 18 декабря 2019 г. , редакция: 1576660600
  • Информация актуальна только для тех, кто использует именно версию 6.0.11.9.

    Если перейдя в раздел "Обновления CMS" видим то, что не применена ни одна точка обновления и первая в списке точка № 2548, то ничего страшного. Всего навсего можно сделать следующее. Нужно применить предыдущую точку обновления. Например, это точка 2547 или исходная точка, если ранее не было обновлений. Далее нужно соединиться с хостингом сайта по FTP и удалить файл return/2548.zip (директория return находится в корне Вашего сайта). Тоже можно сделать и через файловый менеджер, встроенный в CMS. Далее возвращаемся обратно в раздел "Обновления CMS" и нажимаем на кнопку "Применить все новые". На этом всё. Более ничего не требуется. Если будут вопросы, задавайте. Постараюсь помочь.
  • 21 января 2020 г.
  • Цитата
    подскажите, как удалить теперь в странцах админки, клоны страниц


    В административной части сайта перейдите в раздел "Модули и БД". Во вкладке "Восстановление БД" нажмите кнопку "Начать проверку и восстановление базы данных". Этого достаточно - всё восстановиться.
  • 21 января 2020 г.
  • Цитата
    Ничего не сломал? :)


    Полагаю, что нет. Ничего не сломали :)

    Так можно восстановить практически любой пакет обновления. То есть переходите на любую точку, кроме той, пакет которой хотите восстановить. Удаляете пакет из корневой директории return (желательно предварительно его всё же где-нибудь сохранить). Далее просто применяете точку, чей пакет удалили. Обращаю внимание, что с первоначальной точкой (файл return/1.zip) так лучше не делать. В любом случае рекомендую перед такими действиями сохранять резервную копию базы данных и файлов сайта, чтобы иметь возможность по необходимости вернуть первоначальное состояние сайта.
  • 06 декабря 2019 г. , редакция: 1575647926
  • Информация актуальна только для тех, кто использует именно версию 6.0.11.5.

    При использовании версии 6.0.11.5 возможно зависание при скачивании актуальной версии CMS. То есть, перейдя в административный раздел "Обновление CMS" и нажав кнопку "Проверить обновления" появится список доступных для скачивания пакетов обновления. Далее, нажав кнопку "Скачать обновления", процесс скачивания может зависнуть.

    Решение указанной проблемы очень простое. Необходимо сделать следующее.
    1. Заменить файл modules/update/admin/update.admin.action.php на аналогичный файл, прикреплённый к данному сообщению (файл нужно предварительно разархивировать).
    2. Если в корневой директории сайта return присутствует файл 2544.zip, то также замените его на аналогичный файл, прикрепленный к данному сообщению.
    На этом проблема решена. Можно вернуться в раздел "Обновление CMS" и гарантированно скачать и применить актуальные обновления CMS.

    Если возникли вопросы по данному поводу, задавайте - постараюсь помочь в решении проблемы.
  • 05 декабря 2019 г. , редакция: 1575547461
  • Цитата
    Можно ли как то сделать независимую и одновременную работу нескольких Ajax запросов на одной странице?

    Ответ: нет, нельзя. Читайте документацию.

    Цитата
    Можно ли это в принципе сделать в Диафане без изменения site.js

    Можно. В DIAFAN.CMS можно всё. Пример реализации - отложенная загрузка шаблонных тегов. Атрибут шаблонного тега - defer.

    Цитата
    — defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

    Подробнее в документации к DIAFAN.CMS: https://www.diafan.ru/dokument/full-manual/templates-functions/

    То есть используйте такой js-объект, как diafan_ajax. С его помощью, можно инициировать массу AJAX-запросов, не задумываясь, пришел ли ответ. Подробнее в документации:
    https://www.diafan.ru/dokument/full-manual/developers/architecture/module/js/
    https://www.diafan.ru/dokument/full-manual/developers/architecture/module/action/

    Пример.
    Код
    diafan_ajax.init($("#eny_form"));

    Соответственно в данном случае форма с идентификатором eny_form
    Код
    <form id="eny_form"></form>
  • 25 ноября 2019 г.
  • Всё, что у Вас может выводиться при определенных условиях на главной странице, может попасть в index.html. Если Вы удалите файл index.html, то и перезаписываться в автоматическом режиме он не будет.
  • 18 ноября 2019 г.
  • Файл index.html формируется CMS автоматически и используется только в тех случаях, когда недоступна база данных сайта. В остальных случаях файл не используется. Трогать и изменять его самостоятельно не нужно.
  • 17 ноября 2019 г.
  • В новых версия CMS введено понятие - защищенный режим работы. Данный режим активируется автоматически при каждом применении обновления CMS. Цель такого режима - обеспечить стабильность работы самой CMS. Например, можно установить на сайт CMS, далее переделать её код. И всё будет работать. Но при следующем обновлении владельцу сайта необходимо, если он желает обновить CMS, убедиться, что сделанные им ранее правки оригинального кода совместимы с обновленным кодом CMS. Об этом часто забывают. Как следствие, возникают ошибки после обновления, которые никак не связаны с самим кодом DIAFAN.CMS. Поэтому и активируется защищенный режим. Чтобы обеспечить доступность административной части сайта.

    При активированном защищенном режиме работы CMS игнорируются все ранее сделанные пользователем изменения кода в следующих файлах.
    1. Все файлы в корневых директориях adm, includes, plugins.
    2. Все файлы в директориях модулей: account, addons, admin, custom, dashboard, filemanager, inserts, postman, service, trash, update, visitors.
    3. Следующие файлы в директории модуля (исключая поддиректории): контроллер модуля, модель модуля, action, inc, api, express. На примере модуля shop следующие файлы: shop.php, shop.model.php, shop.action.php, shop.inc.php, shop.express.export.php, shop.express.import.php, shop.express.export.php.
    4. Все файлы в поддиректориях модуля, исключая директории views, js, css, backend.

    Цитата
    помогите разобраться с данной проблемой.....

    Скорее всего у Вас кастомизирован файл shop.inc.custom.php. Если Вы уверены в том, что Ваши правки совместимы с обновленной версией CMS, то вы можете отключить режим защищенной работы CMS в разделе "Параметры сайта" (вкладка "Режим разработки") сняв галочку с пункта "Включить защищенный режим работы CMS" и сохранив изменения, нажав кнопку "Сохранить".
  • 26 октября 2019 г.
  • Цитата
    На старом импорте делал, все достаточно не сложно. Если не ошибаюсь в admin.import.config поле прописать и save функцию добавить
    Новый импорт/экспорт был написан так, чтобы максимально сохранить действующий на тот момент старый механизм импорта/экспорта. Так что сложностей не должно быть.
  • 27 октября 2019 г. , редакция: 1572166376
  • Код
    Основные классы Импорта/экспорта описаны в модуле service:
    - класс импорта - modules/service/service.express.import.php
    - класс экспорта - modules/service/service.express.export.php
    В этих файлах описаны функции, которые распространяются на все модули.

    Для того, чтобы организовать импорт/экспорт для любого модуля, достаточно создать, например, для модуля shop следующие файлы:
    - класс импорта для модуля shop - modules/shop/shop.express.import.php
    - класс экспорта для модуля shop - modules/shop/shop.express.export.php
    В указанных файлах файлах можно изменить поведение общих функций.

    В качестве примера просто посмотрите следующие файлы:
    - modules/news/news.express.import.php
    - modules/news/news.express.export.php
    - modules/clauses/clauses.express.import.php
    - modules/clauses/clauses.express.export.php

    И так, например, нужен импорт для модуля ab. Для этого кидаем два файла в директорию modules/ab/:
    - modules/ab/ab.express.import.php
    - modules/ab/ab.express.export.php

    Содержание файла modules/ab/ab.express.import.php:
    Код
    <?php
    /**
    * Импорт данных
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    /**
    * Ab_express_import
    */
    class Ab_express_import extends Service_express_import
    {

    }


    Содержание файла modules/ab/ab.express.export.php:
    Код
    <?php
    /**
    * Экспорт данных
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 6.0
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2018 OOO «Диафан» (http://www.diafan.ru/)
    */

    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    /**
    * Ab_express_export
    */
    class Ab_express_export extends Service_express_export
    {

    }


    Этого достаточно, чтобы организовать импорт экспорт модуля ab. Все остальные изменения в этих файлах будут связаны лишь с добавлением нестандартный полей, которые свойственны только этому модулю. Примеры в файлах:
    Цитата
    В качестве примера просто посмотрите следующие файлы:
    - modules/news/news.express.import.php
    - modules/news/news.express.export.php
    - modules/clauses/clauses.express.import.php
    - modules/clauses/clauses.express.export.php


    Есть еще один обязательный штрих.
    В основной таблице модуля должны присутствовать поля: import, import_id.
    Для этого дополняем файл modules/ab/ab.install.php
    Код
    /**
    * @var array таблицы в базе данных
    */
    public $tables = array(
    array(
    "name" => "ab",
    "comment" => "Объявления",
    "fields" => array(
    ...
    array(
    "name" => "import",
    "type" => "ENUM( '0', '1' ) NOT NULL DEFAULT '0'",
    "comment" => "элемент только что импортирован: 0 - нет, 1 - да",
    ),
    array(
    "name" => "import_id",
    "type" => "VARCHAR(100) NOT NULL DEFAULT ''",
    "comment" => "собственный идентификатор элемента при импорте",
    ),
    ...
    ),
    ...
    ),
    ...
    );

    Далее жмем кнопку восстановления структуры БД в CMS, чтобы поля автоматом появились в таблицах модуля. Сбрасываем кеш сайта. И всё. Смотрим, что получилось: можем импортировать/экспортировать стандартные поля. Если нужно что-то добавить, то смотрим примеры.
  • 03 октября 2019 г.
  • Если файл импорта определяет только основную категорию товаров и нет возможности дополнить файл импорта дополнительными категориями, то в настройках импорта определите поле (где указана категория) как "Пропуск". В таком варианте изменения не будут касаться категорий товара.
  • 18 сентября 2019 г.
  • Сразу скажу, читал ветку диагонально. Допустим нужно вывести список товаров, у которых есть определенная характеристика или определенное значение характеристики (например, характеристика - "вставка"). Тогда, например, как вариант. можно использовать шаблонный тег.
    Цитата
    Пример:

    Товары обладают следующими характеристиками:

    цвет – выпадающий список, номер 3;
    высота – число, номер 10;
    наличие аналогов – галочка, номер 16.
    Значит значение атрибута param="3=5&3=6&10>12&16=0" расшифровывается как товары красного и синего цвета (5 и 6 номер), высотой более 12, не имеющие аналогов. Символы < и > нужно заменять HTML-мнемониками &lt; и &gt;.

    <insert name="show_block" module="shop" param="3=5&3=6&10&gt;12&16=0">

    Номер (или идентификатор) характеристики можно посмотреть, если подвести курсор к названию характеристики в списке характеристик в административной части. Появиться всплывающая подсказка «Редактировать (номер характеристики)».

    Номер (или идентификатор) значения характеристики можно посмотреть, если при редактировании характеристики подвести курсора на нужное значение. Появится всплывающая подсказка «ID: номер».

    Подробнее в документации: https://www.diafan.ru/dokument/full-manual/modules/shop/templates-functions/
  • 11 сентября 2019 г.
  • Цитата
    А смените версию PHP, установите 7+

    CMS и на минимально допустимой версии PHP 5.3 работает без проблем. Проверено. Но cms не контролирует настройки PHP. Поэтому нужно смотреть в сторону php.ini, врубая режим вывода ошибок, и лог ошибок веб-сервера (например, apache).
  • 12 сентября 2019 г.
  • Цитата
    Не верное утверждение

    Пусть так. Не настаиваю. У каждого своё правильное мнение. Но лично я не считаю, что подключаемые модули определяют версию PHP-интерпретатора кода. Это совершенно разные понятия. PHP легко работает, например, и без библиотеки обработки картинок. К каждой версии PHP можно подключить совершенно разный набор библиотек. Каждую версию PHP можно совершенно по разному настроить. Но это не изменит версию PHP. Сами версии PHP отличаются друг от друга, но это отдельная тема. Учитывая изложенное, считаю что речь в большей степени идет о реакции cms на настройки PHP и состав подключенных модулей. И всё это для того, чтобы подсказать пользователю, что мешает полноценной работе. Определенные шаги в данном направлении уже сделаны. Например, раздел Параметры сайта (вкладка Информация о сайте). Но работа в данном направлении обязательно будет продолжена.
Показывать по:

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум