Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как узнать какой модуль модифицирует файл


Recommended Posts

Добрый день Подсобите человеку не разбирающемуся в OpenCart.

Предидущий разработчик пропал пропал и оставил после себя вот такую проблему:

 


Parse error: syntax error, unexpected '}' in /sata1/home/users/gorshki/www/www.gorshki.com.ua/vqmod/vqcache/vq2-system_storage_modification_catalog_controller_common_header.php on line 300

В процессе я выяснил что вполне нормальный PHP файл `system/storage/modification/catalog/controller/common/header.php` в результате модификаций становится не работающим 
/vqmod/vqcache/vq2-system_storage_modification_catalog_controller_common_header.php (там попросту нарушен синтаксис и где-то не закрывается скобка). Я решил узнать какие модули меняют данный файл и отключать их по одному. Отсюда два вопроса:

1 - Можно ли узнать по логам кем меняется данный файл?

2 - В результирующем файле есть вот такой кусок кода:

 

$children_data[] = array(
 'name'  => $child['name'],
 'href'  => $this->url->link('simple_blog/category', 'simple_blog_category_id=' . $category['simple_blog_category_id'] . '_' . $child['simple_blog_category_id'])
								);				

У меня есть модуль Simple Blog

image.thumb.png.cec3e0584c9e440b3a76ea20a47bc7a3.png

 

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

 

Спасибо

Надіслати
Поділитися на інших сайтах


  • GhostKU changed the title to Как узнать какой модуль модифицирует файл

поиском по vqmod/xml

ищете вхождение header.php

 

потом отключаете их все (переименовать в название файла.xml_)  и включаете по очереди обратным переименованием в название.xml

после которого сломалось тот и папа

 

открываем его - смотрим-лечим

Надіслати
Поділитися на інших сайтах

Цитата

1 - Можно ли узнать по логам кем меняется данный файл?

2 - В результирующем файле есть вот такой кусок кода: ...

1. Модификации ocmod в логах есть. VQMOD'а нету, поэтому заходите в каждий vqmod модификатор и ищите в нем строку * подобную этой - <file name="catalog/controller/common/header.php">, анализируйте, делайте вывод.

2. Ну, рабочий кусок кода, получился.

 

Возможен конфликт из-за того что разные файлы пытаются модифицировать 2 куска кода, один полностью модифицировал, второй не может уже найти некоторый код (начала) из-за модификации предыдущего, поэтому нижняя часть модифицировалась, верняя нет.

 

На практике так.

 

Модификатор №2 пытаеться найти строку к примеру if($products)

До работы модификатора №1 она есть в таком же виде, потом модификатор №1 сделал ее так if (isset($products) && !empty($products)

И уже Модификатор №2 ненаходит if($products) так как этой строки уже не существует.

 

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

  • +1 1
Надіслати
Поділитися на інших сайтах

15 часов назад, spectre сказал:

поиском по vqmod/xml

ищете вхождение header.php

 

потом отключаете их все (переименовать в название файла.xml_)  и включаете по очереди обратным переименованием в название.xml

после которого сломалось тот и папа

 

открываем его - смотрим-лечим

Спасибо проблему диагностировали пока что отключили. Потом лечить будем.

 

Все равно неясно проблема ушла после того как я переименовал файл simple_blog.xml, который очевидно из названия связан с модулем Simple Blog. Почему проблема не ушла когда я отключил этот модуль в админке? Или отключение модуля в админке не мешает ему загружаться и вносить изменения в файлы?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.