Redje

При включении SeoPro перестает работать QuickView

Рекомендуемые сообщения

Redje    5

В магазине реализованном на ocStore v1.5.5.1.1 при включении SeoPro перестает работать функция быстрого просмотра товара (QuickView).

Окно открывается как и положено, но вместо карточки товара в фрейме загружается весь сайт

Со стандартным чпу все работает нормально.
Буду признателен за подсказку.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

Вы бы сайт показали...

с включенным SeoPro

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Redje    5

Вы правы конечно.

Просто первый мой магазин на OpenCart. Дизайн шаблонный. К тому же, еще в стадии доработки...

Ну да ладно

 

Заранее спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

Покажите код, как вы формируете ссылку для quickview

т..е.

в коде шаблона

там где в выводите

<a class="quickview" href="h**p://****-systems.ru/bumajnik-mujskoi-dc-naturalnaya-koja-km-002.html" data-height="510" data-width="700">Просмотр</a>

дело в том, что эту ссылку нельзя "прогонять" через

$this->url->link(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Redje    5

Честно говоря я в php не особо.

В category.tpl насколько я смог разобраться quickview вызывается так:

 if (typeof(init_quickview) === 'function') {
      init_quickview();
    }

А сам quickview вроде тут.

 

дело в том, что эту ссылку нельзя "прогонять" через

$this->url->link(

 

Да но при включенном стандартном seo все работает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

Да я увидел

 

в том-то и дело, что в данном случае шаблон не подключается, а подключается шаблон продукта, потому что

 в коде прописан полный путь

<a class="quickview" href="h**tp://center-systems.ru/koshelek-toni-perotti-km-001.html" data-height="510" data-width="700">Просмотр</a>

а должен быть, скорей всего href=?route=module/quick_view ( я не знаю этого модуля, только предполагаю)

 

поэтому и прошу покажите код в шаблоне, где выводится

<a class="quickview" 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Redje    5

Тогда возможно вот это из файла product.tpl

<?php if (isset($this->request->get['boxer'])): ?>
<?php require_once DIR_TEMPLATE . '/journal/template/product/product_quick_view.tpl'; ?>
<?php else: ?>

Ничего более подходящего найти не удалось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

Это в tpl?

Все же это должно быть в контроллере..

Отключите seopro и посмотрите как выглядит ссылка на кнопке qickview

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Redje    5

Отключил

<a class="quickview" data-width="700" data-height="510" href="http://center-systems.ru/damskii-koshelek-iz-naturalnoi-koji-CANEVO-kw-003" style="z-index: 10005;">Просмотр</a>

В коде ничего особо не изменилось, помимо того, что  quickview заработал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

практически ничего не изменилось, только добавился в запрос параметр boxer

 

на вскидку

найдите строку

$quickview.attr('href', href);
$quickview.attr('href', href+'?boxer=true');

и переключитесь в seopro

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Redje    5

Нашел указанную строку в header.tpl заменил. Ссылка теперь имеет вид:

<a class="quickview" href="h**p://****-systems.ru/bumajnik-mujskoi-dc-naturalnaya-koja-km-002.html?boxer=true" data-height="510" data-width="700">Просмотр</a>

Глюк некуда не исчез. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

вот что происходит при включенном seopro

 

По какой-то причине страница получает редирект

А при редиректе уже параметр boxer отстутвует

 

1. нужно выяснить - почему редирект

 

2. Как избавиться? надо смотреть в код

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vasily7    0

Поставьте вот это и все заработает.. Было тоже самое. https://opencartforum.com/topic/10270-%D0%B4%D1%83%D0%B1%D0%BB%D0%B8-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86-seopro/

 Ставьте этот файлик.  seo_pro.php(ocStore1.5.5).zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alexlife    3

вопрос актуален, предложение без танцев с бубном не работает. :-D

могу предложить даже ...легкое вознаграждение за решение данного вопроса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Redje    5

Видимо, так никто и не нашел решения. А между тем все наиболее популярные западные шаблоны (от Lexus и PavoThemes, например) страдают этой болезнью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
facetoash    0

В магазине реализованном на ocStore v1.5.5.1.1 при включении SeoPro перестает работать функция быстрого просмотра товара (QuickView).

Окно открывается как и положено, но вместо карточки товара в фрейме загружается весь сайт

 
Со стандартным чпу все работает нормально.
Буду признателен за подсказку.

 

 

вопрос актуален

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AlexDW    913

ответ уже был подробно расписан chukcha

 

задавайте актуальный вопрос автору шаблона/модуля quickview

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
s3ven    0

В 2.1 такая же проблема с быстрым просмотром. Тема от themeforest.

Подскажите с кодом.

Product.tpl

Код кнопки быстрого просмотра

<div class="quickview">
<a href="index.php?route=product/quickview&product_id=<?php echo $product['product_id']; ?>" title="<?php echo $product['name']; ?>"><?php if($theme_options->get( 'quickview_text', $config->get( 'config_language_id' ) ) != '') { echo html_entity_decode($theme_options->get( 'quickview_text', $config->get( 'config_language_id' ) )); } else { echo 'QUICKVIEW'; } ?></a>
</div>

 

Т.е. ссылка формируется без учета SEO URL по типу index.php?route=product/quickview&product_id=  

В итоге в фрейме выводится вся страница товара целиком, а не quickview.tpl

 

Подскажите где копнуть код? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

&product_id

 

заменить на prod_id

 

в контроллере $this->request->get['product_id']

заменить на $this->request->get['prod_id']

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
s3ven    0

Спасибо, заработал вывод в фрейме. :eek:

А добиться ЧПУ получится? Дубли ссылок не хочется делать. 

 

Смотрю в одном интернет магазине на таком же шаблоне работает с ЧПУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

самій правильный вариант,  делать post запрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
s3ven    0

самій правильный вариант,  делать post запрос.

Да. читал об этом. Опыта не сильно хватает весь php код перебрать. Хотя интерес берет свое.

Придется что-то внешнее лепить, а-ля fastorder вместо быстрого просмотра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 086

та там делов на 100р.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Antonz174    0

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

controller/catalog/product/

class ControllerProductQuickview extends Controller {
private $error = array();

public function index() {
$this->load->language('product/product');

$data['breadcrumbs'] = array();

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home')
);

$this->load->model('catalog/category');

if (isset($this->request->get['path'])) {
$path = '';

$parts = explode('_', (string)$this->request->get['path']);

$category_id = (int)array_pop($parts);

foreach ($parts as $path_id) {
if (!$path) {
$path = $path_id;
} else {
$path .= '_' . $path_id;
}

$category_info = $this->model_catalog_category->getCategory($path_id);

if ($category_info) {
$data['breadcrumbs'][] = array(
'text' => $category_info['name'],
'href' => $this->url->link('product/category', 'path=' . $path)
);
}
}

// Set the last category breadcrumb
$category_info = $this->model_catalog_category->getCategory($category_id);

if ($category_info) {
$url = '';

if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}

if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}

if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}

if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}

$data['breadcrumbs'][] = array(
'text' => $category_info['name'],
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url)
);
}
}

$this->load->model('catalog/manufacturer');

if (isset($this->request->get['manufacturer_id'])) {
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_brand'),
'href' => $this->url->link('product/manufacturer')
);

$url = '';

if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}

if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}

if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}

if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($this->request->get['manufacturer_id']);

if ($manufacturer_info) {
$data['breadcrumbs'][] = array(
'text' => $manufacturer_info['name'],
'href' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . $url)
);
}
}

if (isset($this->request->get['search']) || isset($this->request->get['tag'])) {
$url = '';

if (isset($this->request->get['search'])) {
$url .= '&search=' . $this->request->get['search'];
}

if (isset($this->request->get['tag'])) {
$url .= '&tag=' . $this->request->get['tag'];
}

if (isset($this->request->get['description'])) {
$url .= '&description=' . $this->request->get['description'];
}

if (isset($this->request->get['category_id'])) {
$url .= '&category_id=' . $this->request->get['category_id'];
}

if (isset($this->request->get['sub_category'])) {
$url .= '&sub_category=' . $this->request->get['sub_category'];
}

if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}

if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}

if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}

if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_search'),
'href' => $this->url->link('product/search', $url)
);
}

if (isset($this->request->get['product_id'])) {
$product_id = (int)$this->request->get['product_id'];
} else {
$product_id = 0;
}

$this->load->model('catalog/product');

$product_info = $this->model_catalog_product->getProduct($product_id);

if ($product_info) {
$url = '';

if (isset($this->request->get['path'])) {
$url .= '&path=' . $this->request->get['path'];
}

if (isset($this->request->get['filter'])) {
$url .= '&filter=' . $this->request->get['filter'];
}

if (isset($this->request->get['manufacturer_id'])) {
$url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
}

if (isset($this->request->get['search'])) {
$url .= '&search=' . $this->request->get['search'];
}

if (isset($this->request->get['tag'])) {
$url .= '&tag=' . $this->request->get['tag'];
}

if (isset($this->request->get['description'])) {
$url .= '&description=' . $this->request->get['description'];
}

if (isset($this->request->get['category_id'])) {
$url .= '&category_id=' . $this->request->get['category_id'];
}

if (isset($this->request->get['sub_category'])) {
$url .= '&sub_category=' . $this->request->get['sub_category'];
}

if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}

if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}

if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}

if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}

$data['breadcrumbs'][] = array(
'text' => $product_info['name'],
'href' => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id'])
);

$this->document->setTitle($product_info['meta_title']);
$this->document->setDescription($product_info['meta_description']);
$this->document->setKeywords($product_info['meta_keyword']);
$this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');
$this->document->addScript('catalog/view/javascript/jquery/magnific/jquery.magnific-popup.min.js');
$this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css');
$this->document->addScript('catalog/view/javascript/jquery/datetimepicker/moment.js');
$this->document->addScript('catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.js');
$this->document->addStyle('catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.css');

$data['heading_title'] = $product_info['name'];

$data['text_select'] = $this->language->get('text_select');
$data['text_manufacturer'] = $this->language->get('text_manufacturer');
$data['text_model'] = $this->language->get('text_model');
$data['text_reward'] = $this->language->get('text_reward');
$data['text_points'] = $this->language->get('text_points');
$data['text_stock'] = $this->language->get('text_stock');
$data['text_discount'] = $this->language->get('text_discount');
$data['text_tax'] = $this->language->get('text_tax');
$data['text_option'] = $this->language->get('text_option');
$data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
$data['text_write'] = $this->language->get('text_write');
$data['text_login'] = sprintf($this->language->get('text_login'), $this->url->link('account/login', '', 'SSL'), $this->url->link('account/register', '', 'SSL'));
$data['text_note'] = $this->language->get('text_note');
$data['text_tags'] = $this->language->get('text_tags');
$data['text_related'] = $this->language->get('text_related');
$data['text_loading'] = $this->language->get('text_loading');

$data['entry_qty'] = $this->language->get('entry_qty');
$data['entry_name'] = $this->language->get('entry_name');
$data['entry_review'] = $this->language->get('entry_review');
$data['entry_rating'] = $this->language->get('entry_rating');
$data['entry_good'] = $this->language->get('entry_good');
$data['entry_bad'] = $this->language->get('entry_bad');
$data['entry_captcha'] = $this->language->get('entry_captcha');

$data['button_cart'] = $this->language->get('button_cart');
$data['button_wishlist'] = $this->language->get('button_wishlist');
$data['button_compare'] = $this->language->get('button_compare');
$data['button_upload'] = $this->language->get('button_upload');
$data['button_continue'] = $this->language->get('button_continue');

$this->load->model('catalog/review');

$data['tab_description'] = $this->language->get('tab_description');
$data['tab_attribute'] = $this->language->get('tab_attribute');
$data['tab_review'] = sprintf($this->language->get('tab_review'), $product_info['reviews']);

$data['product_id'] = (int)$this->request->get['product_id'];
$data['manufacturer'] = $product_info['manufacturer'];
$data['manufacturers'] = $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']);
$data['model'] = $product_info['model'];
$data['reward'] = $product_info['reward'];
$data['points'] = $product_info['points'];

if ($product_info['quantity'] <= 0) {
$data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
$data['stock'] = $product_info['quantity'];
} else {
$data['stock'] = $this->language->get('text_instock');
}

$this->load->model('tool/image');

if ($product_info['image']) {
$data['popup'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'));
} else {
$data['popup'] = '';
}

if ($product_info['image']) {
$data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
} else {
$data['thumb'] = '';
}

$data['images'] = array();

$results = $this->model_catalog_product->getProductImages($this->request->get['product_id']);

foreach ($results as $result) {
$data['images'][] = array(
'popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),
'thumb' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'))
);
}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$data['price'] = false;
}

if ((float)$product_info['special']) {
$data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$data['special'] = false;
}

if ($this->config->get('config_tax')) {
$data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
} else {
$data['tax'] = false;
}

$discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);

$data['discounts'] = array();

foreach ($discounts as $discount) {
$data['discounts'][] = array(
'quantity' => $discount['quantity'],
'price' => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
);
}

$data['options'] = array();

foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) {
$product_option_value_data = array();

foreach ($option['product_option_value'] as $option_value) {
if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) {
$price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false));
} else {
$price = false;
}

$product_option_value_data[] = array(
'product_option_value_id' => $option_value['product_option_value_id'],
'option_value_id' => $option_value['option_value_id'],
'name' => $option_value['name'],
'image' => $this->model_tool_image->resize($option_value['image'], 50, 50),
'price' => $price,
'price_prefix' => $option_value['price_prefix']
);
}
}

$data['options'][] = array(
'product_option_id' => $option['product_option_id'],
'product_option_value' => $product_option_value_data,
'option_id' => $option['option_id'],
'name' => $option['name'],
'type' => $option['type'],
'value' => $option['value'],
'required' => $option['required']
);
}

if ($product_info['minimum']) {
$data['minimum'] = $product_info['minimum'];
} else {
$data['minimum'] = 1;
}

$data['review_status'] = $this->config->get('config_review_status');

if ($this->config->get('config_review_guest') || $this->customer->isLogged()) {
$data['review_guest'] = true;
} else {
$data['review_guest'] = false;
}

if ($this->customer->isLogged()) {
$data['customer_name'] = $this->customer->getFirstName() . ' ' . $this->customer->getLastName();
} else {
$data['customer_name'] = '';
}

$data['reviews'] = sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']);
$data['rating'] = (int)$product_info['rating'];
$data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
$data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

$data['products'] = array();

$results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']);

foreach ($results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height'));
} else {
$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('config_image_related_width'), $this->config->get('config_image_related_height'));
}

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_tax')) {
$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
} else {
$tax = false;
}

if ($this->config->get('config_review_status')) {
$rating = (int)$result['rating'];
} else {
$rating = false;
}

$data['products'][] = 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, $this->config->get('config_product_description_length')) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $rating,
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'])
);
}

$data['tags'] = array();

if ($product_info['tag']) {
$tags = explode(',', $product_info['tag']);

foreach ($tags as $tag) {
$data['tags'][] = array(
'tag' => trim($tag),
'href' => $this->url->link('product/search', 'tag=' . trim($tag))
);
}
}

$data['text_payment_recurring'] = $this->language->get('text_payment_recurring');
$data['recurrings'] = $this->model_catalog_product->getProfiles($this->request->get['product_id']);

$this->model_catalog_product->updateViewed($this->request->get['product_id']);

$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/quickview.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/quickview.tpl', $data));
} else {
$this->response->setOutput($this->load->view('default/template/product/quickview.tpl', $data));
}
} else {
die('Product not found!');
}
}
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
yaryar    1

Розархивируйте и скопируйте с заменой.

Перед заменой ОБЯЗАТЕЛЬНО сделайте бэкап оригинальных файлов.

Файлы для FASTOR 1.3.7

catalog.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От milkamil93
      Minify для ocStore 2.3
      Скачать/Купить дополнение Объединение, сжатие css, js файлов и форматирование html в одну строку.
      Описание
      Собирает все css и js файлы, объединяет их в один и удаляет лишние пробелы, переносы без ломания кода, а так же может сжать их gzip. Умеет форматировать html удаляя лишние пробелы, переносы, попутно сжимая js и css без ломания кода. Умеет делать асинхронную загрузку js.
      Самая свежая версия доступна на гите https://github.com/milkamil93/minify-oc/
      Настройка
      Залить содержимое папки upload в корень сайта и установить модуль в админке. Если модуль не появился в списке, то нужно дать права для просмотра, редактирования и проверить не отмечен ли он в списке на скрытие. В настройках модуля выбрать нужные параметры и сохранить.
      Gzip
      Для работы gzip сжатия нужно прописать в .htaccess следующий код
      AddEncoding gzip .jgz #add support gzip JavaScript RewriteCond %{HTTP_USER_AGENT} ".*Safari.*" [OR] RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.jgz -f RewriteRule (.*)\.js$ $1\.js.jgz [L] AddType "text/javascript" .js.jgz #add support gzip CSS RewriteCond %{HTTP_USER_AGENT} ".*Safari.*" [OR] RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.jgz -f RewriteRule (.*)\.js$ $1\.css.jgz [L] AddType "text/css" .css.jgz AddEncoding gzip .jgz Внимание!!!
      Модуль перезаписывает файл system/framework.php и он должен быть доступен для редактирования! При изменении CSS и JS необходимо очистить кеш в настройках модуля, чтобы модуль заново сгенерировал файлы!  
      Тема поддержки 
       

      Добавил milkamil93 Добавлено 22.01.2018 Категория Кэширование, сжатие, ускорение Системные требования Сайт разработчика https://github.com/milkamil93/minify-oc/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop  
    • От Tumanchinsky
      Приветствую. Сразу к сути. Админка в целом работает, но больше нет возможности расширить боковое меню кнопкой - она просто не реагирует. А при наведении на пункты меню выскакивает субменю в котором все подпункты развернуты. Ошибок в логагх нет. Работать можно, но очень не удобно. Помогите пожалуйста. Приложу скрины. Заранее спасибо.


    • От magzhan9292
      Добрый день, коллеги. Ищу модуль SeoPro by Jazz для 2.3.х версии
      Версию под 21хх переделал пути на 2.3.х версии, но модуль не хочет работать, при установке пишет Internal Server Error что я сделал не правильно?
    • От voldemort2
      Здравствуйте, поставил ocStore 2.3.0.2.3. Посоветуйте, пожалуйста, шаблон (платный или бесплатный). Планирую сделать сексшоп. Ищу, чтобы в шаблоне были и правильно работали:
      фильтры к категориях товаров сортировки по цене, алфавиту купить в один клик импорт/экспорт выпадающее многоуровневое меню желательно не топорную тему и не нагруженную лишними блоками товаров и акций Желательно с демо данными. Если нужно поставить другую версию ocStore для шаблона - подскажите, какую лучше. спасибо
    • От ildar94
      Всем доброго времени суток. Импортирую товар через CSV Price Pro import/export 4
      Попадается много одинакового  товара разных цветов. Было решено делать один товаров и добавлять цвета.
      картинки к цветам добавляю при помощи модуля Product option image PRO
      выглядит это вот так:
      У товара другого цвета смотрю путь к изображению. на странице основного товара добавляю цвет и вставляю картинку исходя из пути который узнал.
      Собственно сам вопрос: как можно ускорить этот процесс или может есть какие то модули?


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу