Jump to content
maksimist

[Поддержка] Product 360 Image - 3D обзор товара для Opencart 2.x

Recommended Posts

В 30.12.2018 в 19:37, kazbanov сказал:

Разобрался, модификатор не переписывает как должен код в admin/model/catalog/product.php, прописал в ручную и все работает

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

 

Вместо этого куска:

 

<file path="admin/model/catalog/product.php">
    <operation error="skip">
    <search>
            <![CDATA[
                     $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW()");
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_added = NOW()");
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search><![CDATA[
                     $this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     $this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </add>
    </operation>
</file>

 

Написать например как то так:

 

<file path="admin/model/catalog/product.php">
    <operation error="skip">
    <search>
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_added = NOW()");
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search><![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </add>
    </operation>
</file>

 

Ну и понятное дело, что оно и в первый и во второй раз ищет, одно и то же, поэтому просто добавляем еще к первому search index="0" и ко второму  index="1" и в итоге получим нечто подобное:
 

<file path="admin/model/catalog/product.php">
    <operation error="skip">
    <search index="0">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_added = NOW()");
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search index="1"><![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </add>
    </operation>
</file>

Share this post


Link to post
Share on other sites

Добрый вечер.

Модуль установил на Осторе 2.1... вроде работает.

Хотел спросить, при загрузки фото на сайте немного подрезало, там есть какие-то границы по размеру?

 

Также, где можно подправить надпись на странице товара tab_threesixty

Edited by Rusl83

Share this post


Link to post
Share on other sites

С переводом разобрался.

Share this post


Link to post
Share on other sites
16 часов назад, Rusl83 сказал:

Добрый вечер.

Модуль установил на Осторе 2.1... вроде работает.

Хотел спросить, при загрузки фото на сайте немного подрезало, там есть какие-то границы по размеру?

 

Также, где можно подправить надпись на странице товара tab_threesixty

 

Пишите в ЛС все можно!

Share this post


Link to post
Share on other sites

Уже разобрался.

Скажите а модуль может работать с gif

к примеру есть программа http://www.muganimator.com/, которая переводит картинку в 3D, возможно как-то совместить?

Share this post


Link to post
Share on other sites
В 06.01.2019 в 02:19, maksimist сказал:

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

 

Вместо этого куска:

 

<file path="admin/model/catalog/product.php">
    <operation error="skip">
    <search>
            <![CDATA[
                     $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW()");
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_added = NOW()");
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search><![CDATA[
                     $this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     $this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </add>
    </operation>
</file>

 

Написать например как то так:

 

<file path="admin/model/catalog/product.php">
    <operation error="skip">
    <search>
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_added = NOW()");
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search><![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </add>
    </operation>
</file>

 

Ну и понятное дело, что оно и в первый и во второй раз ищет, одно и то же, поэтому просто добавляем еще к первому search index="0" и ко второму  index="1" и в итоге получим нечто подобное:
 

<file path="admin/model/catalog/product.php">
    <operation error="skip">
    <search index="0">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_added = NOW()");
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search index="1"><![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");
                     ]]>
    </add>
    </operation>
</file>

 

Этот код всё же выдавал ошибку на ocstore 2.3

Надо чуть еще подправить и написать так:

 

<operation error="skip">
    <search index="0">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "',
                     ]]>
    </add>
    </operation>
    <operation error="skip">
    <search index="1"><![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "',
                     ]]>
    </search>
    <add position="replace">
            <![CDATA[
                     tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', threesixty_path = '" . $this->db->escape($data['threesixty_path']) . "', threesixty_frame = '" . $this->db->escape($data['threesixty_frame']) . "', threesixty_prefix = '" . $this->db->escape($data['threesixty_prefix']) . "', threesixty_ext = '" . $this->db->escape($data['threesixty_ext']) . "', threesixty_zerobased = '" . $this->db->escape($data['threesixty_zerobased']) . "', threesixty_navigation = '" . $this->db->escape($data['threesixty_navigation']) . "',
                     ]]>
    </add>
    </operation>

 

Share this post


Link to post
Share on other sites

жаль все же что нет демо...

Share this post


Link to post
Share on other sites

Смотрите как получилось:
http://s62194.smrtp.ru/canon-eos-5d.html

1. Как изменить вращение по часовой стрелке?
2. Как уменьшить скорость вращения и чувствительность?
Спасибо.

Edited by ukrzap

Share this post


Link to post
Share on other sites
В 19.02.2019 в 00:01, ukrzap сказал:

Смотрите как получилось:
http://s62194.smrtp.ru/canon-eos-5d.html

1. Как изменить вращение по часовой стрелке?
2. Как уменьшить скорость вращения и чувствительность?
Спасибо.

 

1. Менять вращение можно только в режиме плеера, т.е. при нажатии на клавишу "Play" или есть вариант переименовать фотки в обратном порядке. 

2. Никак, только количеством кадров. 

Share this post


Link to post
Share on other sites
12 минут назад, laytonio сказал:

На версии Opencart 2.0.3.1 не будет работать?

 

Его можно прикрутить к чему угодно! Он только на 2.3 нормально устанавливается. Предыдущие версии надо точно запросы в БД вручную из sql файла загонять и менять пути к языковым файлам. В теории на 2.0 предыдущего предложения будет достаточно или там еще может какая мелочь. 

Share this post


Link to post
Share on other sites

Поставил модуль, можно ли его переместить в галерею фотографий? image.thumb.png.845dfa9ddf8d0edf2304ef53c2049f2f.png

Share this post


Link to post
Share on other sites
В 22.02.2019 в 09:46, laytonio сказал:

Поставил модуль, можно ли его переместить в галерею фотографий? image.thumb.png.845dfa9ddf8d0edf2304ef53c2049f2f.png

 

Можно, но я не буду этим заниматься :-) Поменяйте индексы в модификаторе, чтоб вкладка на место стала!

Share this post


Link to post
Share on other sites
В 11.09.2019 в 13:04, ykorzhov сказал:

А как бы этот модуль использовать с ОС 3.0?

Его можно без труда прикрутить и к 3-ке да и вообще куда угодно!

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, к 3 версии удалось прикрутить?

Попробовал установить, получаю кучу ошибок на странице. Может кто знает, что в этой ситуации нужно поправить?

Notice
: Undefined index: threesixty_path in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
17
Notice
: Undefined index: threesixty_frame in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
18
Notice
: Undefined index: threesixty_prefix in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
19
Notice
: Undefined index: threesixty_ext in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
20
Notice
: Undefined index: threesixty_zerobased in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
21
Notice
: Undefined index: threesixty_navigation in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
22

 

Share this post


Link to post
Share on other sites
В 03.10.2019 в 00:52, Warped сказал:

Подскажите, пожалуйста, к 3 версии удалось прикрутить?

Попробовал установить, получаю кучу ошибок на странице. Может кто знает, что в этой ситуации нужно поправить?


Notice
: Undefined index: threesixty_path in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
17
Notice
: Undefined index: threesixty_frame in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
18
Notice
: Undefined index: threesixty_prefix in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
19
Notice
: Undefined index: threesixty_ext in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
20
Notice
: Undefined index: threesixty_zerobased in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
21
Notice
: Undefined index: threesixty_navigation in
/profiles/w/wa/war/warped/****.com.ua/storage/modification/catalog/model/catalog/product.php
on line
22

 

 

Дополнение, которое доступно для скачивания не предназначено для 3 версии! 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Shiptor
      Скачать/Купить дополнение


      Shiptor — фулфилмент и агрегатор доставки
      Shiptor - Логистическая платформа для электронной торговли
       
      - Фулфилмент
      - Все службы доставки
      - Интеграции с ведущими СMS, СRM, ERP
      - Сall-центр
      - Фото товаров
       
      Сервис берёт на себя все задачи по сопровождению заказа для интернет-магазинов на аутсорсе: заборы у поставщика, хранение и выполнение заказов, упаковку, доставку ведущими службами через один договор.
       
      www.shiptor.ru
      +74997024920
      sales@shiptor.ru
       
      О модуле "Shiptor - агрегатор доставки" :
       
        Модуль позволяет использовать самую выгодную стоимость доставки и покрыть максимальную географию РФ благодаря выбору среди ведущих логистических компаний через единый договор с Shiptor. Также сервис агрегатора Shiptor предлагает единый забор и доставку день-в-день по Москве, единый забор в регионе и доставку по РФ любыми службами доставки. Фулфилмент и отправку через единый сортировочный центр Shiptor в Москве. Подробную информацию о сервисе агрегатора Вы можете прочитать на сайте Shiptor.ru
       
       
        Ключевые возможности модуля — это расчет стоимости и сроков доставки, предоставление выбора конкретной логистической службы для передачи заказа в пункт выдачи или доставка до двери курьером, а также создание заказа в личном кабинете сервиса Shiptor для дальнейшей обработки, управления и отслеживания заказа.
       
      Службы доставки - партнеры агрегатора Shiptor, доступные через модуль:
       
      Shiptor по Москве и МО
      PickPoint по РФ
      DPD по РФ, Казахстану и Белоруссии
      CDEK по РФ
      Boxberry по РФ
      IML по РФ
      Почта России по РФ
       
       
      Демо-сайт модуля с доступом в админпанель http://opencart.shiptor.ru/2.1_simple_demo_stable/
      Модуль устанавливается и обновляется по ftp. Инструкция по установке находится в архиве с модулем (обратите внимание, что для стандартной версии и с модулем Simple нужны разные файлы ocmod)
      Последняя актуальная версия модуля для OpenCаrt 1.5 все также доступна на форуме, но больше не получает обновления и поддержку.
      Модули для OpenCart 2.x-3.0 продолжают получать поддержку и обновления с новыми функциями и исправлениями.
      Владельцам OpenCart версии 1.5 рекомендуем рассмотреть возможность миграции на более свежую версию системы.
      Преимущества и совместимость:
        Модуль выполняет основные функции взаимодействия с Личным Кабинетом агрегатора доставки Shiptor. Предоставляет возможность гибкого подхода к реализации принятой в магазине бизнес-схемы продаж.  Распространяется бесплатно.  Сопровождается поддержкой и полной документацией.
       
        При разработке мы ориентировались на стандартное поведение покупателя при оформлении заказа, иными словами модуль настроен на дефолтный шаблон платформы. Однако мы понимаем обоснованные желания пользователя по индивидуализации шаблона и поэтому модуль также имеет поддержку популярного модификатора шаблона «Simple – простое оформление заказа», с помощью которого легко можно скорректировать позитивную модель поведения покупателя при оформлении заказа.
       
        Модуль представлен в пяти разных версиях для каждой версии платформы OpenCart или ее локализаций. Набор возможностей может отличаться в зависимости от версии платформы. Протестирован на Opencart и OcStore версий 1.5, 2.0, 2.1, 2.2, 2.3, 3.0 в дефолтном шаблоне, в т.ч. с модификатором оформления заказа SimpleCheckout, без установки дополнительных модулей и шаблонов.
       
         Код модуля открыт и при желании и наличии технических навыков Вы можете самостоятельно доработать модуль на совместимость с Вашими модификаторами страницы чекаута, сторонними модулями или расширить его возможности.
       
       
      Демо-сайт http://opencart.shiptor.ru/2.1_simple_demo_stable/
       
      Возможности:
      Автоматический расчет стоимости доставки по России, Казахстану и Белоруссии при работе через склад Shiptor Автоматический расчет стоимости доставки по России при доставке из регионов (только для Opencart 2.0-3.0) Перерасчет стоимости доставки в зависимости от выбранного способа оплаты с учетом всех комиссий. Отображение карты выбора пунктов самовывоза и постаматов. Скрытие отдельных способов доставки или установка для них правила по отдельным регионам. Увеличение отображаемого времени доставки. Поддержка мультимагазина. Выгрузка товарной номенклатуры в Shiptor (только для Opencart 2.0-3.0) Поддержка опций товаров при расчете доставки и добавлении заказа в Shiptor (только для Opencart 2.0-3.0) Поддержка работы со стандартными купонами на скидку (только для Opencart 2.0-3.0) Использование веса из карточек товаров для расчета доставки. Использование габаритов из карточки товара для расчета доставки Демонстрация подсказок при вводе названия населенного пункта и автовыбор региона для удобства использования и точности расчета. Передача заказов вместе с описью номенклатуры товаров и услуг в ЛК. Передача заказов с наложенным платежом в т.ч. с оплатой по карте или без него. Автоматическая и пакетная передача заказов. Возможность использования города "по умолчанию" из модулей Simple и GeoIP. (только для Opencart 2.0-3.0) Отображение трек-номера и внутренних статусов заказа от Shiptor Ассоциация внутренних статусов заказа от Shiptor со статусами заказа OpenCart Отображение трекномера и статусов заказа от курьерской службы Логирование операций обмена данными с Shiptor. Возможность установки правил по каждому способу доставки: Наценка в %; Наценка в ₽; Бесплатная доставка; Фиксированная цена; Фиксированная цена в зависимости от веса; Минимальный и максимальный вес корзины для доставки; Минимальная и максимальная сумма корзины для доставки и другое;  
      Инструкция по настройке модуля
      Добавил Shiptor Добавлено 22.09.2016 Категория Доставки Системные требования Сайт разработчика https://shiptor.ru Старая цена Метод активации Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Да  
    • By Shiptor
      Shiptor - Логистическая платформа для электронной торговли
       
      - Фулфилмент
      - Все службы доставки
      - Интеграции с ведущими СMS, СRM, ERP
      - Сall-центр
      - Фото товаров
       
      Сервис берёт на себя все задачи по сопровождению заказа для интернет-магазинов на аутсорсе: заборы у поставщика, хранение и выполнение заказов, упаковку, доставку ведущими службами через один договор.
       
      www.shiptor.ru
      +74997024920
      sales@shiptor.ru
       
      О модуле "Shiptor - агрегатор доставки" :
       
        Модуль позволяет использовать самую выгодную стоимость доставки и покрыть максимальную географию РФ благодаря выбору среди ведущих логистических компаний через единый договор с Shiptor. Также сервис агрегатора Shiptor предлагает единый забор и доставку день-в-день по Москве, единый забор в регионе и доставку по РФ любыми службами доставки. Фулфилмент и отправку через единый сортировочный центр Shiptor в Москве. Подробную информацию о сервисе агрегатора Вы можете прочитать на сайте Shiptor.ru
       
       
        Ключевые возможности модуля — это расчет стоимости и сроков доставки, предоставление выбора конкретной логистической службы для передачи заказа в пункт выдачи или доставка до двери курьером, а также создание заказа в личном кабинете сервиса Shiptor для дальнейшей обработки, управления и отслеживания заказа.
       
      Службы доставки - партнеры агрегатора Shiptor, доступные через модуль:
       
      Shiptor по Москве и МО
      PickPoint по РФ
      DPD по РФ, Казахстану и Белоруссии
      CDEK по РФ
      Boxberry по РФ
      IML по РФ
      Почта России по РФ
       
       
      Демо-сайт модуля с доступом в админпанель http://opencart.shiptor.ru/2.1_simple_demo_stable/
      Модуль устанавливается и обновляется по ftp. Инструкция по установке находится в архиве с модулем (обратите внимание, что для стандартной версии и с модулем Simple нужны разные файлы ocmod)
      Последняя актуальная версия модуля для OpenCаrt 1.5 все также доступна на форуме, но больше не получает обновления и поддержку.
      Модули для OpenCart 2.x-3.0 продолжают получать поддержку и обновления с новыми функциями и исправлениями.
      Владельцам OpenCart версии 1.5 рекомендуем рассмотреть возможность миграции на более свежую версию системы.
      Преимущества и совместимость:
        Модуль выполняет основные функции взаимодействия с Личным Кабинетом агрегатора доставки Shiptor. Предоставляет возможность гибкого подхода к реализации принятой в магазине бизнес-схемы продаж.  Распространяется бесплатно.  Сопровождается поддержкой и полной документацией.
       
        При разработке мы ориентировались на стандартное поведение покупателя при оформлении заказа, иными словами модуль настроен на дефолтный шаблон платформы. Однако мы понимаем обоснованные желания пользователя по индивидуализации шаблона и поэтому модуль также имеет поддержку популярного модификатора шаблона «Simple – простое оформление заказа», с помощью которого легко можно скорректировать позитивную модель поведения покупателя при оформлении заказа.
       
        Модуль представлен в пяти разных версиях для каждой версии платформы OpenCart или ее локализаций. Набор возможностей может отличаться в зависимости от версии платформы. Протестирован на Opencart и OcStore версий 1.5, 2.0, 2.1, 2.2, 2.3, 3.0 в дефолтном шаблоне, в т.ч. с модификатором оформления заказа SimpleCheckout, без установки дополнительных модулей и шаблонов.
       
         Код модуля открыт и при желании и наличии технических навыков Вы можете самостоятельно доработать модуль на совместимость с Вашими модификаторами страницы чекаута, сторонними модулями или расширить его возможности.
       
       
      Демо-сайт http://opencart.shiptor.ru/2.1_simple_demo_stable/
       
      Возможности:
      Автоматический расчет стоимости доставки по России, Казахстану и Белоруссии при работе через склад Shiptor Автоматический расчет стоимости доставки по России при доставке из регионов (только для Opencart 2.0-3.0) Перерасчет стоимости доставки в зависимости от выбранного способа оплаты с учетом всех комиссий. Отображение карты выбора пунктов самовывоза и постаматов. Скрытие отдельных способов доставки или установка для них правила по отдельным регионам. Увеличение отображаемого времени доставки. Поддержка мультимагазина. Выгрузка товарной номенклатуры в Shiptor (только для Opencart 2.0-3.0) Поддержка опций товаров при расчете доставки и добавлении заказа в Shiptor (только для Opencart 2.0-3.0) Поддержка работы со стандартными купонами на скидку (только для Opencart 2.0-3.0) Использование веса из карточек товаров для расчета доставки. Использование габаритов из карточки товара для расчета доставки Демонстрация подсказок при вводе названия населенного пункта и автовыбор региона для удобства использования и точности расчета. Передача заказов вместе с описью номенклатуры товаров и услуг в ЛК. Передача заказов с наложенным платежом в т.ч. с оплатой по карте или без него. Автоматическая и пакетная передача заказов. Возможность использования города "по умолчанию" из модулей Simple и GeoIP. (только для Opencart 2.0-3.0) Отображение трек-номера и внутренних статусов заказа от Shiptor Ассоциация внутренних статусов заказа от Shiptor со статусами заказа OpenCart Отображение трекномера и статусов заказа от курьерской службы Логирование операций обмена данными с Shiptor. Возможность установки правил по каждому способу доставки: Наценка в %; Наценка в ₽; Бесплатная доставка; Фиксированная цена; Фиксированная цена в зависимости от веса; Минимальный и максимальный вес корзины для доставки; Минимальная и максимальная сумма корзины для доставки и другое;  
      Инструкция по настройке модуля
    • By kv4nt
      Скачать/Купить дополнение


      Кнопка "Подняться наверх"
      Простая и удобная кнопка "Подняться наверх".
      Инструкция лежит в архиве.
      Добавил kv4nt Добавлено 03.02.2016 Категория Прочее  
    • By maksimist
      Модуль 3D обзора товара. 
       
      Данный модуль добавляет вкладку 3D Обзора товара.
       
      Преимущества:
      модуль использует секвенцию файлов, без каких либо сторонних xml; адаптирован под мобильные устройства; поддержка полноэкранного режима; легкая адаптация под шаблон; простая настройка.  
      Установка:
      Установка через ocmod без замены файлов, после установки не забываем обновить модификаторы.  В карточке товара указать путь к секвенции файлов. Файлы должны иметь название 1.jpg...x.jpg или 1.png...x.png. Если файлы имеют префикс, например image_1.jpg...image_x.jpg, то необходимо указать префикс image_. Все файлы в секвенции должны иметь одинаковое расширение, в настройках модуля необходимо указать .jpg или .png. Если нумерация начинается с 0, нужно провести соответствующую настройку. Так же необходимо указать общее количество кадров в секвенции.   
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.