товар из ОПРЕДЕЛЁННЫХ категорий с фиксированной скидкой 20%.
Пишет ошибку - Fatal error: Call to undefined function curl()
1600x1200xxxxxx-b968d16a629a742de561869fb6e93359.jpeg?s=581fb784c2fd399e26fa9e5f97d01719
3b89ecc5edc85cc193f1c3303827494a4eed4865-100x100.jpeg.
// В контроллере admin/model/tool/image.php
//Вот это строчку
$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;
//Меняешь на эту
$image_new = 'cache/' . utf8_substr(hash('ripemd160', $filename), 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;
//Затем в контроллере catalog/model/tool/image.php
//Вот это строчку
$image_new = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;
//Меняешь на эту
$image_new = 'cache/' . utf8_substr(hash('ripemd160', $filename), 0, utf8_strrpos($filename, '.')) . '-' . (int)$width . 'x' . (int)$height . '.' . $extension;
admin/controller/extension/extension/promotion.php
class ControllerExtensionExtensionPromotion extends Controller {
public function index() {
return '';
// $curl = curl_init();
//
// curl_setopt($curl, CURLOPT_URL, OPENCART_SERVER . 'index.php?route=api/promotion&type=' . substr($this->request->get['route'], strrpos($this->request->get['route'], '/') + 1));
// curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($curl, CURLOPT_HEADER, false);
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
// curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
// curl_setopt($curl, CURLOPT_TIMEOUT, 30);
//
// $response = curl_exec($curl);
//
// curl_close($curl);
//
// if ($response) {
// return $response;
// } else {
// return '';
// }
}
}
// Подключаете модель товаров
$this->load->model('catalog/product');
//Настраиваете фильтр (Откуда все это берется смотрите в контроллере category.php)
$filter_data = array(
'filter_category_id' => id нужной категории ,
'filter_filter' => $filter,
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $limit,
'limit' => $limit
);
// Получаете количество товаров в категории
$product_total = $this->model_catalog_product->getTotalProducts($filter_data);
// Получаете все товары нужной категории
$results = $this->model_catalog_product->getProducts($filter_data);
catalog/controller/product/category.php
Как добавить новое текстовое поле при создании категории opencart 3?
...Вопрос: как дать пользователю эту возможность?
if ((utf8_strlen(trim($this->request->post['address_1'])) < 3) || (utf8_strlen(trim($this->request->post['address_1'])) > 128)) {
$json['error']['address_1'] = $this->language->get('error_address_1');
}
<div class="form-group required">
<li><a href="<?php echo $category_id[60]['href']; ?>"><?php echo $category_id[60]['title']; ?></a></li>
вы минуете php интерпретатор который обрабатывает ваши переменные <?php echo $category_id[60]['href']; ?>
<li><a href="/index.php?route=product/category&category_id=60">Категория 60</a></li>
$data['oct_advanced_options_settings_data'] = $this->config->get('oct_advanced_options_settings_data');
catalog/view/theme/default/template/extension/module/НАЗВАНИЕ_МОДУЛЯ.tpl
catalog/controller/extension/module/НАЗВАНИЕ_МОДУЛЯ.php
$("#form").on("submit", function(){
$.ajax({
url: 'index.php?route=extension/module/НАЗВАНИЕ_МОДУЛЯ/НазваниеМетода&параметр=...',
method: 'post',
dataType: 'html',
data: $(this).serialize(),
success: function(data){
$('#message').html(data);
}
});
});
<?php
class ControllerExtensionModuleНазваниеМодуля extends Controller {
public function index() {
//...
}
public function НазваниеМетода() {
//как то обрабатываете и возвращаете в json формате...
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
catalog/language/ru-ru/extension/module/НАЗВАНИЕ_МОДУЛЯ.php
admin/view/template/extension/module/НАЗВАНИЕ_МОДУЛЯ.twig
admin/controller/extension/module/НАЗВАНИЕ_МОДУЛЯ.php
admin/language/ru-ru/extension/module/НАЗВАНИЕ_МОДУЛЯ.php