Негде не нашёл в интернете информации о конфликтах плагинов. То есть, есть упоминания "вскользь" о том, что дескать де, "...это конфликт плагинов...", и всё, на этом пояснения и заканчиваются. Здесь хочу предложить знающим людям рассказать, как решать эти конфликты, если таковые появились? У меня на данный момент конфликтуют два плагина- знак рубля и дополнительные вкладки для товара. Просто скажите пожалуйста, в какую сторону надо копать, чтобы конфликт решить, а плагины все стояли и работали? И влияет ли порядок загрузки плагинов на работу других?
Во первых найти в каком файле оба мода делают изменения, во вторых, на каких строках (с небольшим запасом в пару строк) в етом файле делают изменения, нашол - теперь открываеш кеш етого файла и смотриш как он изменяет етот оригинальный файл, и либо вручную в найденый файл вносиш ети изменения которые моды делают одновременно или склеиваеш в один мод.
Суть конфликта состоит в том, что нету приоритетов по модификации файла, если 2-ва модификатора (XML) файла делают изменения в одном файле движка, то обычно модифицирует тот, который раньше подключился к классу модификатора, выход один, как написал ув. nix, проанализировать 2-файла - модификатора (они же XML инструкции) и внести ручками модификации в нужные места, и соотв. закомментировать файл, другой же файл-модификатор пусть исполняет свою предназначенную роль.
То есть можно утверждать, что если я из одного файла уберу функцию, которая есть в другом файле (из-за чего и происходит кофликт), то первый файл, а вместе с ним и модуль будет работать как и положено, не смотря на то, что одна функция там закоментирована? --- Добавлено, 5 июл 2014 --- Вот нашёл такое: система ругается на файл catalog_model_catalog_product.php. Кэшированный файл vq2-catalog_model_catalog_product.php полностью повторяет оригинал за исключением последней в нём функции, которой нет в оригинале: public function getProductTabs($product_id) { $product_tab_data = array(); $product_tab_query = $this->db->query("SELECT t.tab_id, td.name, pt.text, t.position, t.show_empty FROM " . DB_PREFIX . "product_tab pt LEFT JOIN " . DB_PREFIX . "tab t ON (pt.tab_id = t.tab_id) LEFT JOIN " . DB_PREFIX . "tab_description td ON (t.tab_id = td.tab_id) WHERE pt.product_id = '" . (int)$product_id . "' AND td.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pt.language_id = '" . (int)$this->config->get('config_language_id') . "' AND t.status = '1' AND ( t.show_empty = '1' OR NOT pt.text REGEXP '^[[:space:]]*$' ) ORDER BY t.position, t.sort_order, td.name"); foreach ($product_tab_query->rows as $product_tab) { $product_tab_data[] = array( 'tab_id' => $product_tab['tab_id'], 'name' => $product_tab['name'], 'text' => $product_tab['text'], 'position' => $product_tab['position'] ); } return $product_tab_data; } Но она есть в файле мода, которые не хочет работать. А дальше я не понимаю- что нужно сделать, чтобы конфликта не было? Пробовал закоментировать функцию, вставить недостающую функцию в catalog_model_catalog_product.php, но всё это не привело желаемого результата. В случае с закоментировыванием, то сайт просто начинал работать (уже без ошибки), но мод не активировался.
открываем файл: catalog/model/catalog/product.php, в нём, перед любой из public function добавляем: А в самом vqmod(XML)_файле_№2 код - вырезаем и сохраняем.
Как оказалось, вставлять функцию нужно не где-нибудь, а именно там, где её рисует кэшированный файл от vqmod'а. Модуль заработал, вот только не так, как надо. Скажу, пожалуй, конкретно. Модуль должен был добавить новые вкладки к описанию товара, и они добавились, но не там, где вкладки "описание, отзывы", а внизу после описания. Выглядит не красиво. Если кто-то сможет порекомендовать как исправить, буду очень благодарен.
2 vqmod вызова 1 Имя файла может быть конфликт. просто скопируйте vqmod к другому может быть это может помочь
Модуль дополнительные вкладки. Показывает ошибку в админке в самом верху экрана - Notice: Undefined index: product_id in ..\vqmod\vqcache\vq2-admin_controller_catalog_product.php on line 905 Я так понимаю, не найден указанный индекс, и наверное это относится к базе данных. Но что мне там нужно изменить, или как создать такой индекс, чтобы больше это не было ошибкой?