Перейти к содержанию

CMS

WordPress, Joomla, MODX, Headelss CMS, Payload CMS, NodeBB! Создание сайтов, темы, плагины, SEO-оптимизация, безопасность, интеграция с API. Решайте ошибки, делитесь лайфхаками, изучайте обновления. Помощь новичкам и экспертные кейсы.

4 Темы 4 Сообщения

Подкатегории


  • Обсуждайте WordPress: от создания сайтов до продвинутых тем! Разработка тем и плагинов, SEO-оптимизация, безопасность, работа с WooCommerce и Elementor. Решайте ошибки, делитесь лайфхаками, изучайте обновления WordPress 6.0+. Помощь новичкам, обмен опытом между разработчиками и веб-мастерами. Актуальные гайды, тренды и лучшие практики.

    0 0
    0 Темы
    0 Сообщения
    Нет новых сообщений
  • Обсуждайте MODX: от основ до продвинутых тем! Создание сайтов, шаблоны, плагины, безопасность, API, оптимизация. Решайте ошибки, делитесь лайфхаками, изучайте MODX 3.0+. Помощь новичкам и экспертные кейсы. Актуальные гайды, тренды.

    4 4
    4 Темы
    4 Сообщения
    kirilljsK
    При работе с MODX Revolution вы можете столкнуться с ошибкой в консоли админки: 0 is not a valid integer and may not be passed to makeUrl(). Разберемся, как её исправить. Причины возникновения ошибки Ошибка возникает, когда в ссылке указан некорректный ID ресурса. Примеры проблемных вызовов: Ссылка с пустым/нулевым плейсхолдером: <a href="[[~[[+id]]]]">Ссылка</a> Если [[+id]] равен 0 или не определен, MODX не может сгенерировать URL. Прямая ссылка на ID 0: <a href="[[+0]]">Ссылка</a> Ресурс с ID 0 не существует, что вызывает ошибку. Решение: диагностика через модификацию ядра Если проблемный код не удается найти вручную, выполните следующие шаги: 1. Резервная копия Создайте бэкап файла core/model/modx/modx.class.php — мы будем его модифицировать. 2. Добавление трейса ошибки Найдите в файле блок: } else { $this->log(modX::LOG_LEVEL_ERROR, '`' . $id . '` is not a valid integer and may not be passed to makeUrl()'); } return $url; Замените его на: } else { $this->log(modX::LOG_LEVEL_ERROR, '`' . $id . '` is not a valid integer and may not be passed to makeUrl()'); try { throw new Exception('Trace error'); } catch (Exception $e) { $this->log(modX::LOG_LEVEL_ERROR, $e->getTraceAsString()); } } return $url; 3. Провоцируем ошибку Перейдите на страницы сайта, где может возникать ошибка. Затем проверьте логи MODX (Управление → Логи ошибок). Анализ логов В логах появится трейс ошибки, например: [2023-10-05 14:30:00] (ERROR @ /index.php) `[[+id]]` is not a valid integer and may not be passed to makeUrl() [2023-10-05 14:30:00] (ERROR @ /index.php) #0 /site/core/model/modx/modparser.class.php(765): modX->makeUrl('[[+id]]', '', '', -1) #1 /site/core/model/modx/modparser.class.php(385): modLinkTag->process(NULL) #2 /site/core/model/modx/modparser.class.php(164): modParser->processTag(Array, false) #3 /site/core/model/modx/modchunk.class.php(92): modParser->processElementTags('[[$tpl.news]]', '<div>...', false, false, '[[', ']]', Array, 10) #4 /site/core/model/modx/modx.class.php(1558): modChunk->process(Array) #5 /site/assets/components/mypackage/snippet.php(20): modX->getChunk('tpl.news', Array) Важные строки: #3 — указывает на чанк tpl.news, где используется проблемная ссылка. #5 — ссылается на сниппет или компонент, вызвавший ошибку. Исправление кода Откройте указанный в логах чанк/шаблон. Замените некорректные ссылки, например: <!-- Было --> <a href="[[~[[+id]]]]">Подробнее</a> <!-- Стало (проверка на существование ID) --> <a href="[[~[[+id:notempty=`[[+id]]`]]]]">Подробнее</a> Или убедитесь, что плейсхолдер [[+id]] передается корректно. Важно! После исправления ошибок верните исходный код файла modx.class.php, чтобы избежать проблем с обновлениями и производительностью. Если проблема осталась — проверьте все вызовы [[~...]] и работу с ID ресурсов в шаблонах и сниппетах.
  • Обсуждайте NodeBB: создание современных форумов, кастомизация тем и плагинов, интеграция с Node.js, MongoDB/Redis. Решайте вопросы безопасности, SEO, оптимизации. Делитесь лайфхаками, изучайте обновления и лучшие практики. Помощь новичкам и экспертные решения. Присоединяйтесь к активному open-source сообществу!

    0 0
    0 Темы
    0 Сообщения
    Нет новых сообщений