[Помогите] ЛИЦЕНЗИЯ Ajax Shopping Cart PRO v1.3.1

Тема в разделе "OpenCart", создана пользователем VIP24, 9 окт 2013.

  1. VIP24

    VIP24 Верховный Главнокомандующий

    Регистрация:
    8 июл 2013
    Сообщения:
    239
    Симпатии:
    1.206
    Как известно, в Ajax Shopping Cart PRO v1.3.1 сделана система лицензий. Самые умные умы форума, на данный момент нет никакого способа что бы ее обойти?
     
    Последнее редактирование: 9 окт 2013
  2. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    В инструкции от автора модуля есть намек:
    Вот отсюда и ноги растут)
     
  3. ivanvolgu

    ivanvolgu

    Регистрация:
    14 июл 2013
    Сообщения:
    6
    Симпатии:
    5
    Находим этот файл
    Меняем полностью текст скрипта в \catalog\controller\common\ocjoyajaxcart.php
    на:

    Код:
    <?php
    header("Content-type: text/html; charset=utf-8");
    
    class ControllerCommonOcjoyajaxcart extends Controller {
    
    private $_path = HTTPS_SERVER;
    private $_name = 'Ocjoyajaxcart';
    
    public function index() {
    $this->language->load('module/ocjoyajaxcart');
    $this->language->load('module/' . $this->_name);
    
    $this->data['type'] = $this->config->get( $this->_name . '_type');
    $this->data['position'] = $this->config->get( $this->_name . '_position');
    $this->data['topions'] = $this->config->get( $this->_name . '_topions');
    $this->data['offset_x'] = $this->config->get( $this->_name . '_offset_x');
    $this->data['offset_y'] = $this->config->get( $this->_name . '_offset_y');
    $this->data['fheight'] = $this->config->get( $this->_name . '_fheight');
    $this->data['fwidth'] = $this->config->get( $this->_name . '_fwidth');
    $this->data['postype'] = $this->config->get( $this->_name . '_postype');
    $this->data['image'] = $this->config->get( $this->_name . '_image');
    $this->data['tcolor'] = $this->config->get( $this->_name . '_tcolor');
    $this->data['tsize'] = $this->config->get( $this->_name . '_tsize');
    $this->data['tmtop'] = $this->config->get( $this->_name . '_tmtop');
    $this->data['tmright'] = $this->config->get( $this->_name . '_tmright');
    $this->data['tmbottom'] = $this->config->get( $this->_name . '_tmbottom');
    $this->data['tmleft'] = $this->config->get( $this->_name . '_tmleft');
    $this->data['color_bgp'] = $this->config->get( $this->_name . '_color_bgp');
    $this->data['head_bgp'] = $this->config->get( $this->_name . '_head_bgp');
    $this->data['bhead_bgp'] = $this->config->get( $this->_name . '_bhead_bgp');
    $this->data['chead_bgp'] = $this->config->get( $this->_name . '_chead_bgp');
    $this->data['close_bg'] = $this->config->get( $this->_name . '_close_bg');
    $this->data['remove_bg'] = $this->config->get( $this->_name . '_remove_bg');
    $this->data['color_a'] = $this->config->get( $this->_name . '_color_a');
    $this->data['color'] = $this->config->get( $this->_name . '_color');
    $this->data['border'] = $this->config->get( $this->_name . '_border');
    $this->data['scroll'] = $this->config->get( $this->_name . '_scroll');
    $this->data['color_fgp'] = $this->config->get( $this->_name . '_color_fgp');
    $this->data['color_fbgp'] = $this->config->get( $this->_name . '_color_fbgp');
    $this->data['pbutton'] = $this->config->get( $this->_name . '_pbutton');
    $this->data['empty'] = $this->config->get( $this->_name . '_empty');
    $this->data['overlay'] = $this->config->get( $this->_name . '_overlay');
    $this->data['pselect'] = $this->config->get( $this->_name . '_pselect');
    $this->data['bselect'] = $this->config->get( $this->_name . '_bselect');
    $this->data['flytype'] = $this->config->get( $this->_name . '_flytype');
    $this->data['flyimage'] = $this->config->get( $this->_name . '_flyimage');
    $this->data['color_f'] = $this->config->get( $this->_name . '_color_f');
    $this->data['frselect'] = $this->config->get( $this->_name . '_frselect');
    $this->data['size_f'] = $this->config->get( $this->_name . '_size_f');
    $this->data['speed'] = $this->config->get( $this->_name . '_speed');
    $this->data['rtselect'] = $this->config->get( $this->_name . '_rtselect');
    $this->data['radius'] = $this->config->get( $this->_name . '_radius');
    
    $this->data['breadcrumbs'] = array();
    
    $this->data['breadcrumbs'][] = array(
    'text' => $this->language->get('text_home'),
    'href' => $this->url->link('common/home'),
    'separator' => false
    );
    
    if (isset($this->request->request['remove'])) {
    $this->cart->remove($this->request->request['remove']);
    unset($this->session->data['vouchers'][$this->request->request['remove']]);
    }
    if (isset($this->request->request['update'])) {
    $this->cart->update($this->request->request['update'],$this->request->request['qty']);
    }
    
    // Totals
    $this->load->model('setting/extension');
    
    $total_data = array();
    $total = 0;
    $taxes = $this->cart->getTaxes();
    
    // Display prices
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $sort_order = array();
    
    $results = $this->model_setting_extension->getExtensions('total');
    
    foreach ($results as $key => $value) {
    $sort_order[$key] = $this->config->get($value['code'] . '_sort_order');
    }
    
    array_multisort($sort_order, SORT_ASC, $results);
    
    foreach ($results as $result) {
    if ($this->config->get($result['code'] . '_status')) {
    $this->load->model('total/' . $result['code']);
    
    $this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes);
    }
    
    $sort_order = array();
    foreach ($total_data as $key => $value) {
    $sort_order[$key] = $value['sort_order'];
    }
    
    array_multisort($sort_order, SORT_ASC, $total_data);
    }
    }
    
    $this->data['totals'] = $total_data;
    
    $this->data['heading_title'] = $this->language->get('heading_title');
    
    $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
    $this->data['text_empty'] = $this->language->get('text_empty');
    $this->data['text_cart'] = $this->language->get('text_cart');
    $this->data['text_checkout'] = $this->language->get('text_checkout');
    
    $this->data['config_ocjoyajaxcart_countname'] = $this->config->get('config_ocjoyajaxcart_countname');
    $this->data['config_ocjoyajaxcart_countdesc'] = $this->config->get('config_ocjoyajaxcart_countdesc');
    
    
    $this->data['button_remove'] = $this->language->get('button_remove');
    
    $this->load->model('tool/image');
    
    $this->data['products'] = array();
    
    foreach ($this->cart->getProducts() as $product) {
    if ($product['image']) {
    $image = $this->model_tool_image->resize($product['image'], $this->config->get('config_image_cart_width'), $this->config->get('config_image_cart_height'));
    } else {
    $image = '';
    }
    
    $option_data = array();
    
    foreach ($product['option'] as $option) {
    if ($option['type'] != 'file') {
    $value = $option['option_value'];
    } else {
    $filename = $this->encryption->decrypt($option['option_value']);
    
    $value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
    }
    
    $option_data[] = array(
    'name' => $option['name'],
    'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value),
    'type' => $option['type']
    );
    }
    
    // Display prices
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $price = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $price = false;
    }
    
    // Display prices
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $total = $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $total = false;
    }
    
    $this->data['products'][] = array(
    'key' => $product['key'],
    'thumb' => $image,
    'name' => $product['name'],
    'model' => $product['model'],
    'reward' => ($product['reward'] ? sprintf($this->language->get('text_points'), $product['reward']) : ''),
    'option' => $option_data,
    'quantity' => $product['quantity'],
    'price' => $price,
    'total' => $total,
    'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'])
    );
    }
    
    // Gift Voucher
    $this->data['vouchers'] = array();
    
    if (!empty($this->session->data['vouchers'])) {
    foreach ($this->session->data['vouchers'] as $key => $voucher) {
    $this->data['vouchers'][] = array(
    'key' => $key,
    'description' => $voucher['description'],
    'amount' => $this->currency->format($voucher['amount'])
    );
    }
    }
    
    $this->data['cart'] = $this->url->link('checkout/cart');
    
    $this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');
    
    $this->load->model('catalog/product');
    $this->data['ajaxcartproducts'] = array();
    
    $data = array(
    'sort' => 'p.date_added',
    'order' => 'DESC',
    'start' => 0
    );
    
    $this->data['button_cart'] = $this->language->get('button_cart');
    $this->data['button_wishlist'] = $this->language->get('button_wishlist');
    $this->data['button_compare'] = $this->language->get('button_compare');
    
    $this->data['text_ajaxcart_head'] = $this->language->get('text_ajaxcart_head');
    $this->data['text_ajaxcart_empty'] = $this->language->get('text_ajaxcart_empty');
    $this->data['text_ajaxcart_continue'] = $this->language->get('text_ajaxcart_continue');
    $this->data['text_gotoorder'] = $this->language->get('text_gotoorder');
    $this->data['text_gotoshipping'] = $this->language->get('text_gotoshipping');
    
    $this->data['column_image'] = $this->language->get('column_image');
    $this->data['column_name'] = $this->language->get('column_name');
    $this->data['column_delete'] = $this->language->get('column_delete');
    $this->data['column_quantity'] = $this->language->get('column_quantity');
    $this->data['column_price'] = $this->language->get('column_price');
    $this->data['column_subtotal'] = $this->language->get('column_subtotal');
    
    $results = $this->model_catalog_product->getAjaxcartProducts($data);
    
    if (!empty($results)) {
    foreach ($results as $result) {
    if ($result['image']) {
    $image = $this->model_tool_image->resize($result['image'], 80, 80);
    } else {$image = $this->model_tool_image->resize('no_image.jpg', 80, 80);
    
    }
    
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $price = false;
    }
    
    if ((float)$result['special']) {
    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $special = false;
    }
    
    if ($this->config->get('config_review_status')) {
    $rating = $result['rating'];
    } else {
    $rating = false;
    }
    
    $this->data['ajaxcartproducts'][] = array(
    'product_id' => $result['product_id'],
    'thumb' => $image,
    'name' => $result['name'],
    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
    'price' => $price,
    'special' => $special,
    'rating' => $rating,
    'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
    );
    }
    }
    
    $this->template = 'default/template/common/ocjoyajaxcart.tpl';
    
    $this->response->setOutput($this->render());
    
    $this->render();
    }
    }
    ?>
    заходим в catalog\view\theme\default\template\common\ocjoyajaxcart.tpl
    находим



    Код:
    div class="name"><a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>"><?php $pname = mb_substr(strip_tags(html_entity_decode($product['name'], ENT_QUOTES, 'UTF-8')),0,$config_ocjoyajaxcart_countname, 'utf-8'); echo $pname . ' ...'; ?></a></div>
    меняем на


    Код:
    <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
    В том же файле \view\theme\default\template\common\ocjoyajaxcart.tpl
    Находим: это



    Код:
    <div class="description"><?php $pdesc = mb_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')),0,$config_ocjoyajaxcart_countdesc, 'utf-8'); echo $pdesc . ' ...'; ?></div>
    И меняем на


    Код:
    <div class="description"><?php echo $product['description']; ?></a></div>
    Исправляем:
    в файле catalog\view\theme\default\template\product\product.tpl
    находим



    Код:
    <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
    и меняем на это


    Код:
    <input type="button" value="<?php echo $button_cart; ?> "onclick="addToCart('<?php echo $product_id; ?>');" class="button" />
    Открываем catalog/model/catalog/product.php
    и находим



    Код:
    public function getTotalProductSpecials() {
    if ($this->customer->isLogged()) {
    $customer_group_id = $this->customer->getCustomerGroupId();
    } else {
    $customer_group_id = $this->config->get('config_customer_group_id');
    }
    
    $query = $this->db->query("SELECT COUNT(DISTINCT ps.product_id) AS total FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))");
    
    if (isset($query->row['total'])) {
    return $query->row['total'];
    } else {
    return 0;
    }
    }
    }
    меняем на:


    Код:
    public function getAjaxcartProducts($data = array()) {
    $type_pr = (int)$this->config->get('config_type_ap');
    
    if ($type_pr == 1) {
    
    if ($this->customer->isLogged()) {
    $customer_group_id = $this->customer->getCustomerGroupId();
    } else {
    $customer_group_id = $this->config->get('config_customer_group_id');
    }
    
    $product_data = array();
    
    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE category_id = '" . (int)$this->config->get('config_parent_id') . "'");
    
    foreach ($query->rows as $result) {
    $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
    }
    
    return $product_data;
    
    } elseif ($type_pr == 2) {
    
    $product_data = array();
    
    $query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed, p.date_added DESC LIMIT 50");
    
    foreach ($query->rows as $result) {
    $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
    }
    
    return $product_data;
    
    } elseif ($type_pr == 3) {
    
    if ($this->customer->isLogged()) {
    $customer_group_id = $this->customer->getCustomerGroupId();
    } else {
    $customer_group_id = $this->config->get('config_customer_group_id');
    }
    
    $sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) GROUP BY ps.product_id";
    
    $sort_data = array(
    'pd.name',
    'p.model',
    'ps.price',
    'rating',
    'p.sort_order'
    );
    
    if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
    $sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
    } else {
    $sql .= " ORDER BY " . $data['sort'];
    }
    } else {
    $sql .= " ORDER BY p.sort_order";
    }
    
    if (isset($data['order']) && ($data['order'] == 'DESC')) {
    $sql .= " DESC, LCASE(pd.name) DESC";
    } else {
    $sql .= " ASC, LCASE(pd.name) ASC";
    }
    
    
    $sql .= " LIMIT 0, 50";
    
    
    $product_data = array();
    
    $query = $this->db->query($sql);
    
    foreach ($query->rows as $result) {
    $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
    }
    
    return $product_data;
    
    } elseif ($type_pr == 4) {
    
    if ($this->customer->isLogged()) {
    $customer_group_id = $this->customer->getCustomerGroupId();
    } else {
    $customer_group_id = $this->config->get('config_customer_group_id');
    }
    
    $product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . '50');
    
    if (!$product_data) {
    $product_data = array();
    
    $query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT 50");
    
    foreach ($query->rows as $result) {
    $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
    }
    
    $this->cache->set('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . '50', $product_data);
    }
    
    return $product_data;
    
    } elseif ($type_pr == 5) {
    
    if ($this->customer->isLogged()) {
    $customer_group_id = $this->customer->getCustomerGroupId();
    } else {
    $customer_group_id = $this->config->get('config_customer_group_id');
    }
    
    $product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . '50');
    
    if (!$product_data) {
    $query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT 50");
    
    foreach ($query->rows as $result) {
    $product_data[$result['product_id']] = $this->getProduct($result['product_id']);
    }
    
    $this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . '50', $product_data);
    }
    
    return $product_data;
    }
    }
    }
    Далее Делаем это:
    Откройте файл catalog/view/javascript/common.js и замените всю функцию, но исходный вариант рекомендую закоментировать или сохранить:



    Код:
    function addToCart(product_id,quantity){
    quantity = typeof(quantity) != 'undefined' ? quantity : 1;
    
    $.ajax({
    url: 'index.php?route=checkout/cart/add',
    type: 'post',
    data: 'product_id=' + product_id + '&quantity=' + quantity,
    dataType: 'json',
    success: function(json) {
    $('.success, .warning, .attention, .information, .error').remove();
    
    if (json['redirect']) {
    location = json['redirect'];
    }
    
    if (json['success']) {
    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
    
    $('.success').fadeIn('slow');
    
    $('#cart-total').html(json['total']);
    
    $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
    }
    });
    }
    Меняем на:


    Код:
    $(".carousel-button-right-ajcart").live('click',function(){
    right_carusel();
    });
    
    $(".carousel-button-left-ajcart").live('click',function(){
    left_carusel();
    });
    
    function left_carusel(){
    var block_width = $('.carousel-block-ajcart').width() + 20;
    $(".carousel-items-ajcart .carousel-block-ajcart").eq(-1).clone().prependTo(".carousel-items-ajcart");
    $(".carousel-items-ajcart").css({"left":"-"+block_width+"px"});
    $(".carousel-items-ajcart").animate({left: "0px"}, 200);
    $(".carousel-items-ajcart .carousel-block-ajcart").eq(-1).remove();
    }
    
    function right_carusel(){
    var block_width = $('.carousel-block-ajcart').width() + 20;
    $(".carousel-items-ajcart").animate({left: "-"+ block_width +"px"}, 200);
    setTimeout(function () {
    $(".carousel-items-ajcart .carousel-block-ajcart").eq(0).clone().appendTo(".carousel-items-ajcart");
    $(".carousel-items-ajcart .carousel-block-ajcart").eq(0).remove();
    $(".carousel-items-ajcart").css({"left":"0px"});
    }, 300);
    }
    
    $(document).ready(function() {
    $(".ajaxcart").colorbox({
    onLoad : function() { $(this).colorbox.resize(); },
    onComplete : function() { $(this).colorbox.resize(); },
    fastIframe: false,
    scrolling: false,
    initialWidth: false,
    innerWidth: false,
    maxWidth: false,
    height: false,
    initialHeight: false,
    innerHeight: false
    });
    $("#colorbox").draggable({
    cursor: "crosshair",
    containment: "parent"
    });
    });
    
    $('html').append('<div style="display:none;"><a class="ajaxcart" id="showcart" href="index.php?route=common/ocjoyajaxcart">&nbsp;</a></div>');
    $('head').prepend('<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ocjoyajaxcart/ocjoyajaxcart.css"/>');
    
    function addToCart(product_id, quantity) {
    quantity = typeof(quantity) != 'undefined' ? quantity : 1;
    $.ajax({
    url: 'index.php?route=checkout/cart/add',
    type: 'post',
    data: 'product_id=' + product_id + '&quantity=' + quantity,
    dataType: 'json',
    success: function(json) {
    $('.success, .warning, .attention, .information, .error').remove();
    if (json['redirect']) {
    location = json['redirect'];
    }
    
    if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 8)) {
    if (json['success']) {
    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
    
    $('.success').fadeIn('slow');
    
    $('#cart-total').html(json['total']);
    
    $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
    } else {
    if (json['success']) {
    $('#showcart').trigger('click');
    $('#cart-total').html(json['total']);
    }
    }
    }
    });
    }
    Откройте файл catalog/view/theme/default/template/product/product.tpl и замините всю функцию:

    Код:
    if (json['success']) {
    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt=""
    
    class="close" /></div>');
    $('.success').fadeIn('slow');
    $('#cart-total').html(json['total']);
    $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
    Заменяем на:


    Код:
    if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 8)) {
    if (json['success']) {
    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
    
    $('.success').fadeIn('slow');
    
    $('#cart-total').html(json['total']);
    
    $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
    } else {
    if (json['success']) {
    $('#showcart').trigger('click');
    $('#cart-total').html(json['total']);
    }
    }
     
    castromen, VIP24 и Сентинел нравится это.
  4. Pelmen

    Pelmen Guest

    Сделал замену по рекомендации, отвалилось стандартное слайдшоу на главной.
    Пример pirrka.ru
    --- Добавлено, 11 ноя 2013 ---
    И корзина не выскакивает если покупаешь не из карточки товара.
    Дайте совет, как поправить ?
     
  5. ivanvolgu

    ivanvolgu

    Регистрация:
    14 июл 2013
    Сообщения:
    6
    Симпатии:
    5
    Вижу что у тебя "Рекомендуемые товары" не работает кнопка купить и в списке товара. Пробуй так
    наверное в файле special.tpl
    catalog\view\theme\default\template\module\special.tpl
    catalog\view\theme\default\template\product\special.tpl
    найди строку
    Код:
    <div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
    и замени

    Код:
    <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
    на

    Код:
    <input type="button" value="<?php echo $button_cart; ?> "onclick="addToCart('<?php echo $product_id; ?>');" class="button" />
    Так же просмотри все tpl по пути catalog\view\theme\default\template\ через которые у тебя выводит кнопку "Купить"

    По поводу слайдера сказать не могу (не могу понять что связывает этот слайдер с кнопкой купить). И что за сладер??? Устанавливал всё на чистый ocstore 1.5.4 (при этом сладйдер работал). Может у тебя сладер не стандартный с кнопкой "купить" тогда посмотри в tpl или php модуля слайдера.
    --- Добавлено, 11 ноя 2013 ---
    По поводу слайдера - проверь этот файл
    \catalog\view\theme\default\template\module\slideshow.tpl
    и попробуй
    заменить текст на это (только перед заменой сохрани исходник)

    Код:
    <div class="slideshow">
      <div id="slideshow<?php echo $module; ?>" class="nivoSlider" style="width: <?php echo $width; ?>px; height: <?php echo $height; ?>px;">
        <?php foreach ($banners as $banner) { ?>
        <?php if ($banner['link']) { ?>
        <a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" /></a>
        <?php } else { ?>
        <img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" />
        <?php } ?>
        <?php } ?>
      </div>
    </div>
    <script type="text/javascript"><!--
    $(document).ready(function() {
        $('#slideshow<?php echo $module; ?>').nivoSlider();
    });
    --></script>
     
    Последнее редактирование: 11 ноя 2013
  6. Pelmen

    Pelmen Guest

    Эти строчки одинаковые. что заменить? :Smile:
    Сборка ocstore 1.5.5.1.1
    там сolorbox обновляется.
    возможно у меня версия этой корзины старая. 1.3.1
    --- Добавлено, 11 ноя 2013 ---
    код этот же.

    больше похоже на конфликт функций.
    а кнопки пытался вставить и раньше, они так же реагируют. например тут http://vuskniga.ru/journalistika/
     
    Lasted edited by : 11 ноя 2013
  7. ivanvolgu

    ivanvolgu

    Регистрация:
    14 июл 2013
    Сообщения:
    6
    Симпатии:
    5
    Сейчас установлю 1.5,5.1.1 и протестирую. Напишу позже.
     
  8. Pelmen

    Pelmen Guest

    Если получится, сделаю на vqmod
     
  9. Pelmen

    Pelmen Guest

    Пока откатил все изменения обратно.
     
  10. alex5151

    alex5151

    Регистрация:
    15 ноя 2012
    Сообщения:
    166
    Симпатии:
    27
    сделал как описано
    при добавлении товаров в корзину в всплывающем окне появляется только
    Код:
    PHP Notice:  Error: Could not load language module/Ocjoyajaxcart! in /vqmod/vqcache/vq2-system_library_language.php on line 41
    появляется после замены контроллера Ocjoyajaxcart
    P.S. что интересно, на денвере такой ошибки не наблюдается, всё прекрасно работает...
     
    Последнее редактирование: 12 ноя 2013
  11. ivanvolgu

    ivanvolgu

    Регистрация:
    14 июл 2013
    Сообщения:
    6
    Симпатии:
    5
    Может у тебя языковых пакетов много в admin и catalog: зайди в \admin\language\russian\module\ocjoyajaxcart.php
    и скопируй ocjoyajaxcart.php в все языковые пакеты \admin\language\ДРУГОЙ ЯЗЫК\module

    так же скопируй ocjoyajaxcart.php который находиться по пути catalog\language\russian\module\ocjoyajaxcart.php
    по папкам catalog\language\ДРУГИЕ ЯЗЫКИ\module\

    Скорее всего проблема в этом

    По поводу слайдера на версии 1.5.5.1.1 вероятно влияет строка
    в файле common.js (когда мы меняем часть скрипта) там есть такая строка (при её удалении начинает работать слайдер)
    if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 8)) {

    Пока ещё не разобрался (хотя в архиве с модулем есть папка для 1.5.5.1). Где то на форумах читал про разработчика (говорят что юзабилити модулей нормально делает, а вот совместимость и работоспособность модулей не на высоте).
    --- Добавлено, 12 ноя 2013 ---
    И ещё заметил на 1.5.5.1.1 отваливается слайдер.
    --- Добавлено, 12 ноя 2013 ---
    Вот решение для 1.5.5.1.1
    Находим этот файл
    Меняем полностью текст скрипта в \catalog\controller\common\ocjoyajaxcart.php
    на:

    Код:
    <?php
    header("Content-type: text/html; charset=utf-8");
    
    class ControllerCommonOcjoyajaxcart extends Controller {
    
    private $_path = HTTPS_SERVER;
    private $_name = 'Ocjoyajaxcart';
    
    public function index() {
    $this->language->load('module/ocjoyajaxcart');
    $this->language->load('module/' . $this->_name);
    
    $this->data['type'] = $this->config->get( $this->_name . '_type');
    $this->data['position'] = $this->config->get( $this->_name . '_position');
    $this->data['topions'] = $this->config->get( $this->_name . '_topions');
    $this->data['offset_x'] = $this->config->get( $this->_name . '_offset_x');
    $this->data['offset_y'] = $this->config->get( $this->_name . '_offset_y');
    $this->data['fheight'] = $this->config->get( $this->_name . '_fheight');
    $this->data['fwidth'] = $this->config->get( $this->_name . '_fwidth');
    $this->data['postype'] = $this->config->get( $this->_name . '_postype');
    $this->data['image'] = $this->config->get( $this->_name . '_image');
    $this->data['tcolor'] = $this->config->get( $this->_name . '_tcolor');
    $this->data['tsize'] = $this->config->get( $this->_name . '_tsize');
    $this->data['tmtop'] = $this->config->get( $this->_name . '_tmtop');
    $this->data['tmright'] = $this->config->get( $this->_name . '_tmright');
    $this->data['tmbottom'] = $this->config->get( $this->_name . '_tmbottom');
    $this->data['tmleft'] = $this->config->get( $this->_name . '_tmleft');
    $this->data['color_bgp'] = $this->config->get( $this->_name . '_color_bgp');
    $this->data['head_bgp'] = $this->config->get( $this->_name . '_head_bgp');
    $this->data['bhead_bgp'] = $this->config->get( $this->_name . '_bhead_bgp');
    $this->data['chead_bgp'] = $this->config->get( $this->_name . '_chead_bgp');
    $this->data['close_bg'] = $this->config->get( $this->_name . '_close_bg');
    $this->data['remove_bg'] = $this->config->get( $this->_name . '_remove_bg');
    $this->data['color_a'] = $this->config->get( $this->_name . '_color_a');
    $this->data['color'] = $this->config->get( $this->_name . '_color');
    $this->data['border'] = $this->config->get( $this->_name . '_border');
    $this->data['scroll'] = $this->config->get( $this->_name . '_scroll');
    $this->data['color_fgp'] = $this->config->get( $this->_name . '_color_fgp');
    $this->data['color_fbgp'] = $this->config->get( $this->_name . '_color_fbgp');
    $this->data['pbutton'] = $this->config->get( $this->_name . '_pbutton');
    $this->data['empty'] = $this->config->get( $this->_name . '_empty');
    $this->data['overlay'] = $this->config->get( $this->_name . '_overlay');
    $this->data['pselect'] = $this->config->get( $this->_name . '_pselect');
    $this->data['bselect'] = $this->config->get( $this->_name . '_bselect');
    $this->data['flytype'] = $this->config->get( $this->_name . '_flytype');
    $this->data['flyimage'] = $this->config->get( $this->_name . '_flyimage');
    $this->data['color_f'] = $this->config->get( $this->_name . '_color_f');
    $this->data['frselect'] = $this->config->get( $this->_name . '_frselect');
    $this->data['size_f'] = $this->config->get( $this->_name . '_size_f');
    $this->data['speed'] = $this->config->get( $this->_name . '_speed');
    $this->data['rtselect'] = $this->config->get( $this->_name . '_rtselect');
    $this->data['radius'] = $this->config->get( $this->_name . '_radius');
    
    $this->data['breadcrumbs'] = array();
    
    $this->data['breadcrumbs'][] = array(
    'text' => $this->language->get('text_home'),
    'href' => $this->url->link('common/home'),
    'separator' => false
    );
    
    if (isset($this->request->request['remove'])) {
    $this->cart->remove($this->request->request['remove']);
    unset($this->session->data['vouchers'][$this->request->request['remove']]);
    }
    if (isset($this->request->request['update'])) {
    $this->cart->update($this->request->request['update'],$this->request->request['qty']);
    }
    
    // Totals
    $this->load->model('setting/extension');
    
    $total_data = array();
    $total = 0;
    $taxes = $this->cart->getTaxes();
    
    // Display prices
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $sort_order = array();
    
    $results = $this->model_setting_extension->getExtensions('total');
    
    foreach ($results as $key => $value) {
    $sort_order[$key] = $this->config->get($value['code'] . '_sort_order');
    }
    
    array_multisort($sort_order, SORT_ASC, $results);
    
    foreach ($results as $result) {
    if ($this->config->get($result['code'] . '_status')) {
    $this->load->model('total/' . $result['code']);
    
    $this->{'model_total_' . $result['code']}->getTotal($total_data, $total, $taxes);
    }
    
    $sort_order = array();
    foreach ($total_data as $key => $value) {
    $sort_order[$key] = $value['sort_order'];
    }
    
    array_multisort($sort_order, SORT_ASC, $total_data);
    }
    }
    
    $this->data['totals'] = $total_data;
    
    $this->data['heading_title'] = $this->language->get('heading_title');
    
    $this->data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
    $this->data['text_empty'] = $this->language->get('text_empty');
    $this->data['text_cart'] = $this->language->get('text_cart');
    $this->data['text_checkout'] = $this->language->get('text_checkout');
    
    $this->data['config_ocjoyajaxcart_countname'] = $this->config->get('config_ocjoyajaxcart_countname');
    $this->data['config_ocjoyajaxcart_countdesc'] = $this->config->get('config_ocjoyajaxcart_countdesc');
    
    
    $this->data['button_remove'] = $this->language->get('button_remove');
    
    $this->load->model('tool/image');
    
    $this->data['products'] = array();
    
    foreach ($this->cart->getProducts() as $product) {
    if ($product['image']) {
    $image = $this->model_tool_image->resize($product['image'], $this->config->get('config_image_cart_width'), $this->config->get('config_image_cart_height'));
    } else {
    $image = '';
    }
    
    $option_data = array();
    
    foreach ($product['option'] as $option) {
    if ($option['type'] != 'file') {
    $value = $option['option_value'];
    } else {
    $filename = $this->encryption->decrypt($option['option_value']);
    
    $value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
    }
    
    $option_data[] = array(
    'name' => $option['name'],
    'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value),
    'type' => $option['type']
    );
    }
    
    // Display prices
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $price = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $price = false;
    }
    
    // Display prices
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $total = $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $total = false;
    }
    
    $this->data['products'][] = array(
    'key' => $product['key'],
    'thumb' => $image,
    'name' => $product['name'],
    'model' => $product['model'],
    'reward' => ($product['reward'] ? sprintf($this->language->get('text_points'), $product['reward']) : ''),
    'option' => $option_data,
    'quantity' => $product['quantity'],
    'price' => $price,
    'total' => $total,
    'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'])
    );
    }
    
    // Gift Voucher
    $this->data['vouchers'] = array();
    
    if (!empty($this->session->data['vouchers'])) {
    foreach ($this->session->data['vouchers'] as $key => $voucher) {
    $this->data['vouchers'][] = array(
    'key' => $key,
    'description' => $voucher['description'],
    'amount' => $this->currency->format($voucher['amount'])
    );
    }
    }
    
    $this->data['cart'] = $this->url->link('checkout/cart');
    
    $this->data['checkout'] = $this->url->link('checkout/checkout', '', 'SSL');
    
    $this->load->model('catalog/product');
    $this->data['ajaxcartproducts'] = array();
    
    $data = array(
    'sort' => 'p.date_added',
    'order' => 'DESC',
    'start' => 0
    );
    
    $this->data['button_cart'] = $this->language->get('button_cart');
    $this->data['button_wishlist'] = $this->language->get('button_wishlist');
    $this->data['button_compare'] = $this->language->get('button_compare');
    
    $this->data['text_ajaxcart_head'] = $this->language->get('text_ajaxcart_head');
    $this->data['text_ajaxcart_empty'] = $this->language->get('text_ajaxcart_empty');
    $this->data['text_ajaxcart_continue'] = $this->language->get('text_ajaxcart_continue');
    $this->data['text_gotoorder'] = $this->language->get('text_gotoorder');
    $this->data['text_gotoshipping'] = $this->language->get('text_gotoshipping');
    
    $this->data['column_image'] = $this->language->get('column_image');
    $this->data['column_name'] = $this->language->get('column_name');
    $this->data['column_delete'] = $this->language->get('column_delete');
    $this->data['column_quantity'] = $this->language->get('column_quantity');
    $this->data['column_price'] = $this->language->get('column_price');
    $this->data['column_subtotal'] = $this->language->get('column_subtotal');
    
    $results = $this->model_catalog_product->getAjaxcartProducts($data);
    
    if (!empty($results)) {
    foreach ($results as $result) {
    if ($result['image']) {
    $image = $this->model_tool_image->resize($result['image'], 80, 80);
    } else {$image = $this->model_tool_image->resize('no_image.jpg', 80, 80);
    
    }
    
    if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $price = false;
    }
    
    if ((float)$result['special']) {
    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
    } else {
    $special = false;
    }
    
    if ($this->config->get('config_review_status')) {
    $rating = $result['rating'];
    } else {
    $rating = false;
    }
    
    $this->data['ajaxcartproducts'][] = array(
    'product_id' => $result['product_id'],
    'thumb' => $image,
    'name' => $result['name'],
    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
    'price' => $price,
    'special' => $special,
    'rating' => $rating,
    'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
    'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
    );
    }
    }
    
    $this->template = 'default/template/common/ocjoyajaxcart.tpl';
    
    $this->response->setOutput($this->render());
    
    $this->render();
    }
    }
    ?>
    1) скопируйте содержимое папок в корень файлов вашего магазина (в архиве версия 1.5.5.1)
    2) на вашем магазине должен быть установлен vQmod
    3) откройте файл catalog/view/javascript/common.js и замените всю функцию, но исходный вариант рекомендую закоментировать или сохранить:


    Код:
    function addToCart(product_id,quantity){
        quantity = typeof(quantity) != 'undefined' ? quantity : 1;
    
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + product_id + '&quantity=' + quantity,
            dataType: 'json',
            success: function(json) {
                $('.success, .warning, .attention, .information, .error').remove();
          
                if (json['redirect']) {
                    location = json['redirect'];
                }
          
                if (json['success']) {
                    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
              
                    $('.success').fadeIn('slow');
              
                    $('#cart-total').html(json['total']);
              
                    $('html, body').animate({ scrollTop: 0 }, 'slow');
                }
            }
        });
    }
    на =>

    Код:
    $(".carousel-button-right-ajcart").live('click',function(){
          right_carusel();
    });
    
    $(".carousel-button-left-ajcart").live('click',function(){
          left_carusel();
    });
    
    function left_carusel(){
        var block_width = $('.carousel-block-ajcart').width() + 20;
        $(".carousel-items-ajcart .carousel-block-ajcart").eq(-1).clone().prependTo(".carousel-items-ajcart");
        $(".carousel-items-ajcart").css({"left":"-"+block_width+"px"});
        $(".carousel-items-ajcart").animate({left: "0px"}, 200);
        $(".carousel-items-ajcart .carousel-block-ajcart").eq(-1).remove();
    }
    
    function right_carusel(){
        var block_width = $('.carousel-block-ajcart').width() + 20;
        $(".carousel-items-ajcart").animate({left: "-"+ block_width +"px"}, 200);
        setTimeout(function () {
          $(".carousel-items-ajcart .carousel-block-ajcart").eq(0).clone().appendTo(".carousel-items-ajcart");
          $(".carousel-items-ajcart .carousel-block-ajcart").eq(0).remove();
          $(".carousel-items-ajcart").css({"left":"0px"});
        }, 300);
    }
    
    $(document).ready(function() {
        $(".ajaxcart").colorbox({
              onLoad    : function() { $(this).colorbox.resize(); },
              onComplete : function() { $(this).colorbox.resize(); },
              fastIframe: false,
          scrolling: false,
          initialWidth: false,
          innerWidth: false,
          maxWidth: false,
          height: false,
          initialHeight: false,
          innerHeight: false
        });
        $("#colorbox").draggable({
              cursor: "crosshair",
              containment: "parent"
        });
    });
    
    $('html').append('<div style="display:none;"><a class="ajaxcart" id="showcart" href="index.php?route=common/ocjoyajaxcart">&nbsp;</a></div>');
    $('head').prepend('<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ocjoyajaxcart/ocjoyajaxcart.css"/>');
    
    function addToCart(product_id, quantity) {
        quantity = typeof(quantity) != 'undefined' ? quantity : 1;
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + product_id + '&quantity=' + quantity,
            dataType: 'json',
            success: function(json) {
                $('.success, .warning, .attention, .information, .error').remove();
                if (json['redirect']) {
                    location = json['redirect'];
                }
    
                if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 8)) {
                    if (json['success']) {
                        $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                  
                        $('.success').fadeIn('slow');
                  
                        $('#cart-total').html(json['total']);
                  
                        $('html, body').animate({ scrollTop: 0 }, 'slow');
                    }
                } else {
                    if (json['success']) {
                          $('#showcart').trigger('click');
                        $('#cart-total').html(json['total']);
                    }
                }
            }
        });
    }
    4) откройте файл catalog/view/theme/default/template/product/product.tpl и замините всю функцию:

    Код:
    if (json['success']) {
        $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt=""
    
    class="close" /></div>');      
        $('.success').fadeIn('slow');      
        $('#cart-total').html(json['total']);  
        $('html, body').animate({ scrollTop: 0 }, 'slow');
    }  
    на =>

    Код:
    if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 8)) {
                    if (json['success']) {
                        $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                  
                        $('.success').fadeIn('slow');
                  
                        $('#cart-total').html(json['total']);
                  
                        $('html, body').animate({ scrollTop: 0 }, 'slow');
                    }
                } else {
                    if (json['success']) {
                          $('#showcart').trigger('click');
                        $('#cart-total').html(json['total']);
                    }
                }  
    заходим в catalog\view\theme\default\template\common\ocjoyajaxcart.tpl
    находим


    Код:
    div class="name"><a href="<?php echo $product['href']; ?>" title="<?php echo $product['name']; ?>"><?php $pname = mb_substr(strip_tags(html_entity_decode($product['name'], ENT_QUOTES, 'UTF-8')),0,$config_ocjoyajaxcart_countname, 'utf-8'); echo $pname . ' ...'; ?></a></div>
    меняем на

    Код:
    <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>

    После этого всё заработало. Кроме карусели товаров. Буду копать дальше.

    Сейчас нет времени разбираться - но скажу что нужно то что находиться в файле vqmod внести вручную. Так как он не работает как нужно.
     
    Последнее редактирование: 12 ноя 2013
    Сентинел и Pelmen нравится это.
  12. alex5151

    alex5151

    Регистрация:
    15 ноя 2012
    Сообщения:
    166
    Симпатии:
    27
    я ж говорю
    на хостинге магазин на 1.5.4.1 100% копия с денвера, где всё отлично
    язык только рус и ингл
    P.S. такое ощущение что не хватает прав доступа
    у
    /vqmod
    /vqmod/vqcache
    права 777
    --- Добавлено, 13 ноя 2013 ---
    если у кого-то возникнет аналогичная проблема, попробуйте убрать из \catalog\controller\common\ocjoyajaxcart.php
    Код:
    $this->language->load('module/' . $this->_name);
    мне помогло))))
     
    Последнее редактирование: 13 ноя 2013
  13. Pelmen

    Pelmen Guest

    ivanvolgu, Напомни пожалуйста, через vqmod можно все описанные правки делать? (наверное кроме скриптов)
     
  14. ivanvolgu

    ivanvolgu

    Регистрация:
    14 июл 2013
    Сообщения:
    6
    Симпатии:
    5
    Я так понимаю в js, css и не получится внести правки и tpl под вопросом (Не зря же разработчик не внёс правки в tpl, а внес в инструкцию. Я не думаю что это от лени) . Если есть желание попробуй сделать vqmod (только тебе нужно будет переделать тот vqmod который там уже есть). Я думаю (моё мнение) смысла в нём нет, так как тот vqmod который сделал разработчик из него только js подключается, а всё остальное приходиться руками прописывать (это + 2 скрипта). Да и + к этому ещё в readme два скрипта вносить вручную в tpl и js (которые в vqmod не внести). +2 скрипта с кнопками (так как изначально модуль не работал в карточке товара и 2 скрипта исправления слайдера) Да и шаблоны у всех разные. Затея хорошая. Но не для слабонервных:biggrin: Будет время гляну что можно запихнуть в vqmod.
     
  15. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    ivanvolgu, ivanvolgu, ivanvolgu,
    Так у тебя все заработало по коду который подсказал ivanvolgu или ты сам что то и где то еще подпилил.
    Если сам то напиши что и где.
     
  16. Постер

    Постер

    Регистрация:
    9 авг 2013
    Сообщения:
    140
    Симпатии:
    7
    Pelmen, Вы писали, что vqmod хотите сделать. Полезная была бы штуковина)
     
  17. Pelmen

    Pelmen Guest

    Сделал строго по инструкции "Вот решение для 1.5.5.1.1" у вас не получилось ?
    @ivanvolgu, написал, что во-первых это затруднительно, может повлечь глюки. во-вторых всё не получится обработать vqmod
     
  18. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    Ну вот теперь все точки расставлены.
    Предложенные варианты ivanvolgu рабочие и Вами проверенные.
     
  19. ocjoy

    ocjoy

    Регистрация:
    31 июл 2013
    Сообщения:
    1
    Симпатии:
    3
    Wow. Тема уже индексирется яндексом :smile:
    А не легче написать сразу нам напрямую на [email protected].
    Решим любые проблемы. В заголовке укажите wmasteru.org.
     
    buldozer, jaroslav1984 и Baco нравится это.
  20. Сентинел

    Сентинел

    Регистрация:
    5 мар 2013
    Сообщения:
    239
    Симпатии:
    121
    Так проблемы то судя по всему и нет.
    К сожалению такова жизнь. Или Вы купили по честному Windows, Photoshop и не буду продолжать далее этот список.
    Было бы разумно выложить теперь здесь Вами открытый специально для wmasteru.org модуль с хайдом допустим 500 (и не видно, и левые не скачают а только "свои") и попросить админов убрать чудо инструкцию)))))))))))))
    Может быть Вас как то утешит, что модуль толковый.
     
    Jam нравится это.