ingenerks

Рекомендуемые рандомно

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

ingenerks    295

Название: Рекомендуемые рандомно

Добавил: ingenerks

Добавлен: 06 марта 2013

Обновлен: 06 марта 2013

Категория: Модули

Есть дополнение которые выводит в модуле акций рандомно товары http://www.opencart....29#.UTfDtlc50qI то есть при каждом обновлении, новые акционные товары. На его базе сделал вкмод, для рекомендуемых. То есть каждый новый пользователь, зашедший на сайт, будит видеть новые рекомендуемые товары, или при перезагрузке страницы.

Как настраивать.:

-заходим в админку в модуль рекомендуемые.

-выбираем товары.

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

-указываем где выводить модуль (схему) и сохраняем.

Теперь рекомендуемые товары будут выносится рандомно.

Версии v1.5.1.3, v1.5.2, v1.5.2.1, v1.5.3, v1.5.3.1, v1.5.4, v1.5.4.1

Может кому-то пригодится!

Нажмите здесь, чтобы скачать файл

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


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

Есть такое мнение, что частая ротация ссылок снижает их вес в глазах поисковиков

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


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

Требовалось для частного случая, решил поделится, может кому-то понадобится!

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


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

Я это вовсе не к тому, что ваше дополнение плохое icon_e_smile.gif Просто многие используют рекомендуемые товары вовсе не по прямому назначению (например, к телефону можно советовать карту памяти или там чехол), а чисто для перелинковки страниц товаров, и вот в таких случаях частое изменение взаимной перелинковки может навредить. Но с другой стороны, те, кто продают гуглу, а не покупателям, долго не задерживаются на рынке

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


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

Аффтар как добавлять то?

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


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

судя по тому что там xml файл - это для vqmod...

http://www.opencart....29#.UTfDtlc50qI

ну да)

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

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


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

Аффтар как добавлять то?

Вверху писал как добавлять

-заходим в админку в модуль рекомендуемые.

-выбираем товары.

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

-указываем где выводить модуль (схему) и сохраняем.

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


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

То что доктор прописал. 

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


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

Не работает на v1.5.5.1 В админке появляется дополнительное окно, но случайным образом так и не показывает. Цитата "в первом окне ставим лимит на количество товаров" - но почему-то в первом окне устанавливается сколько отображать товара на странице, а второе просто бесполезное.  Пытался менять значения в обоих окнах, но эффекта нет, показывает в строгой последовательности.  

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


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

Не работает на v1.5.5.1 В админке появляется дополнительное окно, но случайным образом так и не показывает. Цитата "в первом окне ставим лимит на количество товаров" - но почему-то в первом окне устанавливается сколько отображать товара на странице, а второе просто бесполезное.  Пытался менять значения в обоих окнах, но эффекта нет, показывает в строгой последовательности.  

Для 1.5.5.1

В catalog/controller/module/featured.php перед строкой 21

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем функцию перемешивания массива в случайном порядке 

shuffle ($products);

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

 

 

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


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

 

Для 1.5.5.1

В catalog/controller/module/featured.php перед строкой 21

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем функцию перемешивания массива в случайном порядке 

shuffle ($products);

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

 

Спасибо, отлично помогло даже без данного модуля. Если увижу решение по акциям сразу сообщу.

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


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

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

Может есть ЦЕНА вопроса за решение?

skype: El-Art.pro

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


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

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']

заменить на

'limit' => ($setting['limit'] * 10)

найти

$results = $this->model_catalog_product->getProductSpecials($data);

добавить после

srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

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


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

Спасибо, Tom!

---

Вычитал в яндексе: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

 

Так что эту строку можно удалить - srand((float)microtime() * 1000000);

---

Сразу видно, бывалый кодер!  B) 

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


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

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']
заменить на

'limit' => ($setting['limit'] * 10)
найти

$results = $this->model_catalog_product->getProductSpecials($data);
добавить после

shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

Вот это реальная работающая штука для любых модулей - Акции, Рекомендуемые и прочее. Нужно только учитывать разные переменные.

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


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

 

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']

заменить на

'limit' => ($setting['limit'] * 10)

найти

$results = $this->model_catalog_product->getProductSpecials($data);

добавить после

srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

 

Супер, спасибо помогло!)))

На версии 1.5.5.1

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


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

 

Для 1.5.5.1

В catalog/controller/module/featured.php перед строкой 21

$products = array_slice($products, 0, (int)$setting['limit']);

Вставляем функцию перемешивания массива в случайном порядке 

shuffle ($products);

==============

Меня волнует другой вопрос, как тоже самое сделать с акциями, понятно что надо дописать в template/module/special.tpl.

Подскажите кто знает! Для 1.5.5.1

 

 

 

Все великолепно работает, но есть маленький недостаток. Если установить отображать на странице 6 товаров (лимит), то показывает товары не все 6, а случайным числом. Один раз 4, во второй 6, в третий 5, потом снова 6. Иногда 3, но менее трех еще не видел. Функция shuffle ($products); должна перемещать товары и вывести случайные 6 штук, а не любое количество до 6 (до лимита). Буду очень признателен если подскажите как сделать стабильное количество отображаемых товаров. Заранее большое спасибо.

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


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

 

Для модуля акций можно попробовать так

 

catalog/controller/module/special.php, найти

'limit' => $setting['limit']

заменить на

'limit' => ($setting['limit'] * 10)

найти

$results = $this->model_catalog_product->getProductSpecials($data);

добавить после

srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

 

А не подскажите - как такое реализовать для Рекомендуемых из Осshор модуля Табы..?

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


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

Нет  под рукой,что бы посмотреть...

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


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

Нет  под рукой,что бы посмотреть...

 

catalog\controller\module\product_tab.php

class ControllerModuleProductTab extends Controller {

protected function index($setting) {

static $module = 0;

$this->language->load('module/product_tab');

$this->data['heading_title'] = $this->language->get('heading_title');

$this->document->addScript('catalog/view/javascript/jquery/tabs.js');

$this->data['tab_latest'] = $this->language->get('tab_latest');

$this->data['tab_featured'] = $this->language->get('tab_featured');

$this->data['tab_bestseller'] = $this->language->get('tab_bestseller');

$this->data['tab_special'] = $this->language->get('tab_special');

$this->data['button_cart'] = $this->language->get('button_cart');

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

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

//Latest Products

$this->data['latest_products'] = array();

$latest_results = $this->model_catalog_product->getLatestProducts($setting['limit']);

foreach ($latest_results as $result) {

if ($result['image']) {

$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

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;

}

$stickers = $this->getStickers($result['product_id']) ;

$this->data['latest_products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

}

//Specials product

$this->data['special_products'] = array();

$special_data = array(

'sort' => 'pd.name',

'order' => 'ASC',

'start' => 0,

'limit' => $setting['limit']

);

$special_results = $this->model_catalog_product->getProductSpecials($special_data);

foreach ($special_results as $result) {

if ($result['image']) {

$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

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;

}

$stickers = $this->getStickers($result['product_id']) ;

$this->data['special_products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

}

//BestSeller

$this->data['bestseller_products'] = array();

$bestseller_results = $this->model_catalog_product->getBestSellerProducts($setting['limit']);

foreach ($bestseller_results as $result) {

if ($result['image']) {

$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

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;

}

$stickers = $this->getStickers($result['product_id']) ;

$this->data['bestseller_products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),

);

}

//Featured

$this->data['featured_products'] = array();

$products = explode(',', $this->config->get('featured_product'));

if (empty($setting['limit'])) {

$setting['limit'] = 5;

}

$products = array_slice($products, 0, (int)$setting['limit']);

foreach ($products as $product_id) {

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

if ($product_info) {

if ($product_info['image']) {

$image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);

} else {

$image = false;

}

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

} else {

$price = false;

}

if ((float)$product_info['special']) {

$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));

} else {

$special = false;

}

if ($this->config->get('config_review_status')) {

$rating = $product_info['rating'];

} else {

$rating = false;

}

$stickers = $this->getStickers($product_info['product_id']) ;

$this->data['featured_products'][] = array(

'product_id' => $product_info['product_id'],

'thumb' => $image,

'name' => $product_info['name'],

'price' => $price,

'special' => $special,

'rating' => $rating,

'sticker' => $stickers,

'reviews' => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),

'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']),

);

}

}

$this->data['module'] = $module++;

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/product_tab.tpl')) {

$this->template = $this->config->get('config_template') . '/template/module/product_tab.tpl';

} else {

$this->template = 'default/template/module/product_tab.tpl';

}

$this->render();

}

private function getStickers($product_id) {

$stickers = $this->model_catalog_product->getProductStickerbyProductId($product_id) ;

if (!$stickers) {

return;

}

$this->data['stickers'] = array();

foreach ($stickers as $sticker) {

$this->data['stickers'][] = array(

'position' => $sticker['position'],

'image' => HTTP_SERVER . 'image/' . $sticker['image']

);

}

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/stickers.tpl')) {

$this->template = $this->config->get('config_template') . '/template/product/stickers.tpl';

} else {

$this->template = 'default/template/product/stickers.tpl';

}

return $this->render();

}

}

?>

Изменено пользователем Kyuzo

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


Ссылка на сообщение
Поделиться на другие сайты
Tom    2 092
<?php
class ControllerModuleProductTab extends Controller {
 
protected function index($setting) {
 
static $module = 0;
 
$this->language->load('module/product_tab');
 
$this->data['heading_title'] = $this->language->get('heading_title');
 
$this->document->addScript('catalog/view/javascript/jquery/tabs.js');
 
$this->data['tab_latest'] = $this->language->get('tab_latest');
$this->data['tab_featured'] = $this->language->get('tab_featured');
$this->data['tab_bestseller'] = $this->language->get('tab_bestseller');
$this->data['tab_special'] = $this->language->get('tab_special');
 
 
$this->data['button_cart'] = $this->language->get('button_cart');
 
$this->load->model('catalog/product');
 
$this->load->model('tool/image');
 
//Latest Products
 
$this->data['latest_products'] = array();
 
$latest_results = $this->model_catalog_product->getLatestProducts($setting['limit']);
 
//ADD
srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
//END
 
foreach ($latest_results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
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;
}
 
$stickers = $this->getStickers($result['product_id']) ;
 
$this->data['latest_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
 
//Specials product
 
$this->data['special_products'] = array();
 
$special_data = array(
'sort' => 'pd.name',
'order' => 'ASC',
'start' => 0,
'limit' => $setting['limit']
);
 
 
 
$special_results = $this->model_catalog_product->getProductSpecials($special_data);
 
//ADD 
srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
//END
 
foreach ($special_results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
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;
}
 
$stickers = $this->getStickers($result['product_id']) ;
 
$this->data['special_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
 
//BestSeller
$this->data['bestseller_products'] = array();
 
//$bestseller_results = $this->model_catalog_product->getBestSellerProducts($setting['limit']);
 
//Add 
$bestseller_results = $this->model_catalog_product->getBestSellerProducts($setting['limit'] * 10);
srand((float)microtime() * 1000000);
shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);
//END
 
foreach ($bestseller_results as $result) {
if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
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;
}
 
$stickers = $this->getStickers($result['product_id']) ;
 
$this->data['bestseller_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),
);
}
 
 
//Featured
$this->data['featured_products'] = array();
 
$products = explode(',', $this->config->get('featured_product'));
 
//Add 
   srand((float)microtime() * 1000000);
   shuffle($products);
 
//END
 
if (empty($setting['limit'])) {
$setting['limit'] = 5;
}
 
$products = array_slice($products, 0, (int)$setting['limit']);
 
foreach ($products as $product_id) {
$product_info = $this->model_catalog_product->getProduct($product_id);
 
if ($product_info) {
if ($product_info['image']) {
$image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);
} else {
$image = false;
}
 
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$price = false;
}
 
if ((float)$product_info['special']) {
$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}
 
if ($this->config->get('config_review_status')) {
$rating = $product_info['rating'];
} else {
$rating = false;
}
 
$stickers = $this->getStickers($product_info['product_id']) ;
 
$this->data['featured_products'][] = array(
'product_id' => $product_info['product_id'],
'thumb' => $image,
'name' => $product_info['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'sticker' => $stickers,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']),
);
}
}
 
$this->data['module'] = $module++;
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/product_tab.tpl')) {
$this->template = $this->config->get('config_template') . '/template/module/product_tab.tpl';
} else {
$this->template = 'default/template/module/product_tab.tpl';
}
 
$this->render();
}
 
private function getStickers($product_id) {
 
$stickers = $this->model_catalog_product->getProductStickerbyProductId($product_id) ;
 
if (!$stickers) {
return;
}
 
$this->data['stickers'] = array();
 
foreach ($stickers as $sticker) {
$this->data['stickers'][] = array(
'position' => $sticker['position'],
'image' => HTTP_SERVER . 'image/' . $sticker['image']
);
}
 
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/stickers.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/stickers.tpl';
} else {
$this->template = 'default/template/product/stickers.tpl';
}
 
return $this->render();
 
}
}
?>

 

Не проверял.

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


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

Не проверял.

Оставил только для одной вкладки..

Всё работает, спасибо огромное!

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


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

А для 2.1 подскажите пожалуйста правильную конструкцию для special

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


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

Не проверял

Для 2......
 
catalog/controller/module/special.php
 

'limit' => $setting['limit']

заменить на
 

'limit' => ($setting['limit'] * 10)

найти
 

$results = $this->model_catalog_product->getProductSpecials($filter_data);

добавить после
 

shuffle($results); 
$results = array_slice($results, 0, $setting['limit']);

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


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

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

На время в tpl включил автопрокрутку скриптом Owl Carousel, но хочу именно рандомный товар, а затем уже прокрутку.

 

Забыл написать тема XDS Coloring, если это имеет значение.

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


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

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

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

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

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

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

Войти

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

Войти


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

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