Откат изменений модификации

Тема в разделе "Ошибки и их решения", создана пользователем Sile9t, 15 янв 2025.

  1. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Доброго времени суток.
    Выполняю задание по настройке каноничных ссылок для склейки дубликатов на ocStore 2.3.0.2.3, правда раньше с система такого рода не работал, потому могу тупить или что-то путать. Нашел вот это обсуждение (https://forum.opencart-russia.ru/th...-opencart-2-0-x-x-2-3-x-x-canonical-url.4624/) и решил попробовать данный модуль (Canonical URL). После установки и обновления кэша, ссылки на категории перестали работать, почитал разные обсуждения, но решения для данной проблемы пока не нашелю
     
  2. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Почему вы решили, что у вас есть какие то проблемы с каноникал на этой версии OcStore ?
    Если после применения модификатора он привёл к ошибке, просто найдите его в списке модификаторов (Дополнения - Менеджер дополнений) и удалите. Этот называется Canonical Fix.
     
    Последнее редактирование: 16 янв 2025
  3. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Я уже удалил этот модуль и обновил менеджер, но переход по категориям все равно не работает. А добавлял я этот модуль, из-за требований тз.
     
  4. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Плохо. Особенно для заказчика.
    Смотрите логи ошибок. Консоль браузера. Пробуйте полностью очистить папку с модификаторами.
     
  5. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Я правильно понимаю, что мне надо удалить все в папке находящейся по пути www/system/storage/modification?
    Логи я посмотрел, все сломалось как раз после принятия изменений от CanonicalURL. Я бы хотел восстановить прежнее состояние сервера через какой-нибудь бекап, но к сожалению не знаю где мне его найти и как конкретно применить.
     
  6. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Тогда выводите ошибки на экран и исправляйте то , что есть.
    Удаление папки кеша модификаторов в вашем случае не поможет.
     
  7. Tesloz

    Tesloz Специалист

    Сообщения:
    108
    Симпатии:
    52
    А там другой исполнитель напрямую в модификаторы изменения вносил :D наверное, скупой платит дважды )
     
  8. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Вот что возвращает сервер
    Судя по стак трейсу, он жалуется на получение null вместо value значения (строке 33 он вызывает $getCategory($parts[0])). Я так подозреваю, что изменения модификатора отразились еще и на бд. Если это так, то мне каким-то образом над восстановить упущенные данные, возможно через снимок бд, но прежде надо вообще найти ее.
     
  9. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Не знаю на счет другого исполнителя, учитывая что я работаю на небольшую компанию, может кто и покопался. Про скупого тоже соглашусь, но самый кринж в том, что тз составлено сео специалистом и возможно он просто понаписал всякой фиги, чтоб цену поднять, а мне теперь с этим разбираться.
     
  10. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Проблема начинается в файле storage/modification/catalog/controller/product/category.php на строке 33.
     
  11. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Такое чувство, что вы вообще не читаете мои комментарии. Где выбивает ошибку я знаю, по какой причине тоже примерно понимаю. Главная загвоздка в решении проблемы - как ее исправить. Надо ли мне запрашивать у владельца доступ в бд и пробовать восстановить ее прежнее состояние или можно решить проблему проще?
     
  12. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Раз вы видели где причина, раз вы знаете в чём причина. Почему не взяли доступы фтп/админка и не исправили?
    У вас же в ошибке всё есть. И причина и что именно необходимо сделать.
    Не получается, просто восстановите на хостинге из бэкапа БД магазина и возможно файлы.
     
    Последнее редактирование: 16 янв 2025
  13. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Может потому, что не знаю устройство системы и не хочу делать еще хуже? Или хочу найти более простой вариант? Или хочу разобраться как удалять изменения модификатора (на этот вопрос я уже получил ответ)? Или не знаю где хранится бекап бд? Можно восстановить бд через админку? Надо ли мне заходить в MyPhpAdmin или я могу восстановить их через bash, если да то куда копать?

    Ну или давайте я попробую изменить код category.php, а потом, когда все окончательно сломается, создам новое обсуждение, где буду объяснять, что воспользовался вашим советом, от чего стало только хуже. А в ответ мне напишут, что следовало сделать не так как посоветовали вы, а как-то по-другому.
     
  14. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Любое ваше дальнейшее действие может привести к самым непредсказуемым результатам. Вплоть до полного обрушения сайта.
    Нет.
    В некоторых случаях да. Например вы как ответственный исполнитель, перед началом установки чего либо, сделали бэкап.
    Среди моих советов не было ничего, что сделало бы хуже. Не нужно проецировать на меня , то что вы ввязались в дело, знаний в котором ноль. Иначе бы уже хватило и тех предложений и предположений, что уже были озвучены.
    Ошибка ваша , не из разряда постоянных, ответ на которую был бы в виде "нажмите и готово". Здесь нужно лезть в файлы и разбираться почему у вас в контроллере находится то чего там нет по-умолчанию. Для чего это было внедрено, чем и как это исправить.
     
  15. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    Кстати, заметил ваш ответ у меня в электронной почте
    Поискал в vim'е через регулярки изменения, и нашел только 1 измененную строчку, в файле catalog/contoroller/product/category.php.
    upload_2025-1-16_11-44-7.png
    Курсор указывает на измененную строку

    Закомментировал ее, записал над ней как, вроде бы, было, но в итоге ничего не поменялось.

    В catalog/model/catalog/category.php изменений не нашел.

    upload_2025-1-16_11-48-20.png
    Курсов указывает на строку, где должны были быть изменения.

    Что можете посоветовать?
     
  16. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Зачем вы делаете скрины кода, когда на подобных профильных площадках есть возможность вставки кода.
    У вас даже если бегло пробежаться по контроллеру видно что изменений внесено не мало. Например некие Кастомные ссылки категорий.
    Так как ошибка связана с похожей проблемой, с этого и начинайте.
     
  17. SiteMix

    SiteMix Продвинутый пользователь

    Сообщения:
    1.047
    Симпатии:
    179
    А до этого вы пробовали обновлять кэш модификаторов? Вполне возможно, что проблемы была ещё до установки упомянутого модуля (были правки в кэше).

    Ищите на хостинге резервное копирование и восстановите файлы на дату до установки модуля.
    Если сами не нашли, пишите в поддержку, они обычно помогают с восстановлением.

    Когда всё восстановится, обязательно нужно найти правки в кэше модификатора и перенести их в файлы или модификатор.
     
  18. Sile9t

    Sile9t Новичок

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

    Касательно кода, я не видел чистые контроллеры ocStore потому мало что могу сказать по коду. Общая логика в нем мне понятна. Я искал изменения, которые мог сделать Canonical Fix, основываясь на xml файле и операциях, которые в нем прописаны. Нашел только 1 изменение, о котором уже написал выше.

    Про вставку кода не подумал, к тому же vim'ом особо не пользуюсь потому привыкать к немо немного сложновато.
     
  19. Sile9t

    Sile9t Новичок

    Сообщения:
    25
    Симпатии:
    2
    До установки модуля, все работало нормально, но кэш я обновил только после его установки, потому ничего сказать не могу.

    Можете подсказать примерный путь или название файла резервного копирования?
     
  20. Tom

    Tom Специалист

    Сообщения:
    908
    Симпатии:
    307
    Опенкарт открытая система. Всегда можно скачать нужную версию и сравнить.
    Единственное у каждой сборки свои нюансы и искать архивы нужно именно для своей версии и сборки.
    Да и файл вы на скрине показываете не тот.
    Ваш проблемный файл - storage/modification/catalog/controller/product/category.php
    Скрины - catalog/controller/product/category.php
    То есть у вас скорее всего есть ещё некий модификатор , который и вносит эту строку.
    Так как ошибка прямо и указывает на папку кеша модификаторов. Именно там создаются копии файлов с примененным к ним изменениям , указанным в модификаторах. Данные о самих модификаторах , в опенкарт хранятся в базе данных.
    Самый плохой для вас сценарий, выше коллеги озвучили. Правки внесли в кеш модификаторов, чего делать нельзя. Так как кеш очищается .И при установке нового модификатора, вы их успешно снесли.