Ребята, спасайте, уже всю голову сломал, но не знаю что делать 1) Нужно клонировать модуль рекомендуемые (при добавлении товара, на вкладки связи) Сам модуль рекомендуемое я оформил как дополнительная комплектация к товару, а теперь нужна такая же вкладка, точно такая же, только фурнитура, и товар естественно другой. Желательно по подробнее что и где копировать, переименовывать, удалять и вставлять))) 2) Еще поставил модуль быстрого заказа но не для заказа товара, а для вызова замерщика, кнопка на карточке товара рядом с ценой. Вот нужно этот модуль клонировать, что бы поставить еще одну такую кнопку рядом, что бы всплывало окно, но уже для других целей. Т.е. два одинаковых модуля, но один это вызов замерщика, а второй узнать свою скидку. Тоже незнаю как клонировать, спасайте)))
Для ваших хотелок есть https://opencartforum.com/files/file/1882-мульти-рекомендуемые/ Не надо ничего клонировать Клонировать модуль достаточно посто 1. Переименовать файл (контроллер, языковый, возможно трогать не надо) 2. Переименовать class 3. При сохранении проверить в какую схему config пишет Повторить для магазина 1. Переименовать файл 2. Переименовать class
А все таки по поводу клонирования быстрого заказа, скопировал файл с др названием, переименовал классы, но ничего не получилось(
По первому случаю, скопировал и переименовал с related на related2 добавил поле в базу Но вот при попытке редактировать товар, или просто при заходе на сайт ошибка
1. ModelCatalogProduct::getProductRelated2() Так все верно, такого метода нет, и метод не модуля, а модели, поэтому - уберите 2 2. Deprecated: mysql_connect(): Очень странная ошибка (notice) - Непонятно откуда. Вернее, понятно откуда, но эта ошибка должна относиться ко всему сайту Поменяйте в config.php драйвер с mysql на mysqli.
chukcha, 1. Сделал, как ты сказал, ошибок нет, и поле появилось, но в нем тот же товар что и в рекомендуемом, а при попытке добавления, он добавляется в рекомендуемое, а не в дубль. При удалении товаров из дубля, и сохранении товара, ничего не пропадает, т.е. захожу, а в дубле опять тот же товар, что и в рекомендуемом. 2. Сделал, но выдало ошибку Error: Could not load database file mysqli!
1. Я обращал внимание на хранение данных... Показывает потому, что другая схема хранения Секундочку... Related - это не модуль, а функционал product Поэтому будьте внимательны.. Найдите все что касается realated и аккуратно склонируйте... Тайный смысл клонирования рекомендуемых в товаре? 2. Поищите mysqliz - возможно поможет
1) Просто делаю магазин дверей, и должно быть две вкладки Дополнительная комплектация Фурнитура Функционал должен быть один, а товары там разные)) Клонировал related в файлах: .../admin/controller/catalog/product.php .../admin/view/template/catalog/product_form.tpl .../catalog/controller/product/product.php .../catalog/view/theme/theme083/template/product/product.tpl Ну и естественно в папках langague
Вам нужно создать отдельное поле в базе для хранения этих продуктов И... теперь действительно нужно склонировать метод getProductRelated
Поле, там в базе было productrelated, я его скопировал, неправильно? И как и где клонировать метод getProductRelated?
Вот, просто скопировал related и назвал related2 и все. А как правильно надо было, и как getProductRelated2 добавить?
Скажу сразу, мне не нравится система в OC хранения рекомендуемых в товаре в виде отдельной таблицы проще хранить их в сериализованном виде в отделном столбце Это отступление. Конечно, тебе нужен отдельный метод getRelated2, где задействуется другая таблица product_related2
в модель product.php Как-то так PHP: public function getProductRelated2($product_id) { $product_related_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related2 WHERE product_id = '" . (int)$product_id . "'"); foreach ($query->rows as $result) { $product_related_data[] = $result['related_id']; } return $product_related_data; } Это получили.... Теперь сохранить в методе add и edit PHP: if (isset($data['product_related2'])) { foreach ($data['product_related2'] as $related_id) { $this->db->query("DELETE FROM " . DB_PREFIX . "product_related2 WHERE product_id = '" . (int)$product_id . "' AND related_id = '" . (int)$related_id . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_related2 SET product_id = '" . (int)$product_id . "', related_id = '" . (int)$related_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "product_related2 WHERE product_id = '" . (int)$related_id . "' AND related_id = '" . (int)$product_id . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_related2 SET product_id = '" . (int)$related_id . "', related_id = '" . (int)$product_id . "'"); } } И... в шаблоне... сделать доп поле... И... в модели product магазина Т.е. по сути работы по копипасту не мало