Перейти к содержанию

ilerok

Пользователи
  • Публикаций

    350
  • Зарегистрирован

  • Посещение

Репутация

1 Обычный

Информация о ilerok

  • Звание
    Продвинутый пользователь

Информация

  • Пол
    Мужчина

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Подскажите, как правильно в OpenCart 2.3 вынести папку storage за пределы public_html? По такой же логике как в opencart 3. Пробую в ручную вынести ее за пределы и поменять пути в конфигах - выдает ошибки после данных действий везде( Что еще нужно и где поменять?
  2. Ребят, подскажите как решить такое: У поставщика есть есть фильтр в котором отфильтровал 2 результата фильтрации. В обоих результатах фильтрации есть один и тот же товар. Из первого результата фильтрации вставил ссылку в задачу 1. Из второго результат фильтрации вставил ссылку в задачу 2. В скрипт задачи 1 добавил значение атрибута "Цвет" синий $attributes['Цвет']['Синий']; В скрипт задачи 2 добавил значение атрибута "Цвет" красный $attributes['Цвет']['Красный']; В итоге из за того, что товар один и тот же, ему сначала добавляет значение "синий" а потом второй задачей заменяет его на "красный". Если с атрибутами это сделать не возможно, реально реализовать с опциями? Что бы каждая задача добавляла товару определенное значение опции.
  3. Всем привет! В opencart 2.3 использую такой файл /catalog/model/tool/image.php (прикрепил файл к теме) который адаптивно обрезает изображения товаров и тд, без белых краев. Вопрос - как сделать что бы он обрезал адаптивно не с центра начиная, а с самого верха фотки? Буду рад бесплатной помощи, но если считаете что такая задача стоит денег - напишите в лс стоимость и сроки. Дублирую текущий код сюда: <?php class ModelToolImage extends Model { public function resize($filename, $width, $height, $type = "") { if (!file_exists(DIR_IMAGE . $filename) || !is_file(DIR_IMAGE . $filename)) { return; } $info = pathinfo($filename); $extension = $info['extension']; $old_image = $filename; $new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . $type .'.' . $extension; if (!file_exists(DIR_IMAGE . $new_image) || (filemtime(DIR_IMAGE . $old_image) > filemtime(DIR_IMAGE . $new_image))) { $path = ''; $directories = explode('/', dirname(str_replace('../', '', $new_image))); foreach ($directories as $directory) { $path = $path . '/' . $directory; if (!file_exists(DIR_IMAGE . $path)) { @mkdir(DIR_IMAGE . $path, 0777); } } list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image); if ($width_orig != $width || $height_orig != $height) { $scaleW = $width_orig/$width; $scaleH = $height_orig/$height; $image = new Image(DIR_IMAGE . $old_image); if ($scaleH > $scaleW) { $_height = $height * $scaleW; $top_x = 0; $top_y = ($height_orig - $_height) / 2; $bottom_x = $width_orig; $bottom_y = $top_y + $_height; $image->crop($top_x, $top_y, $bottom_x, $bottom_y); } elseif ($scaleH < $scaleW) { $_width = $width * $scaleH; $top_x = ($width_orig - $_width) / 2; $top_y = 0; $bottom_x = $top_x + $_width; $bottom_y = $height_orig; $image->crop($top_x, $top_y, $bottom_x, $bottom_y); } $image->resize($width, $height, $type); $image->save(DIR_IMAGE . $new_image); } else { copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image); } } if ($this->request->server['HTTPS']) { return $this->config->get('config_ssl') . 'image/' . $new_image; } else { return $this->config->get('config_url') . 'image/' . $new_image; } } } image.php
  4. та добавил его в самом начале контроллера категории тут class ControllerProductCategory extends Controller { public function index() { $this->load->language('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $this->load->model('catalog/manufacturer'); не помогает( самое обидное что все работает, а ошибка висит под шапкой, если включаю скрытие вывода ошибок в админке - пропадает и совсем не мешает но будет засорять лог сервака
  5. С таким вариантом: $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']); $logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25); $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'logo_image' => $logo_image, 'name' => $result['name'], 'manufacturer'=> $result['manufacturer'], 'manufacturers' => $this->url->link('category/manufacturer/info', 'manufacturer_id=' . $result['manufacturer_id']), 'description' => $description, 'product_type' => $result['sku'], 'sku' => $result['sku'], 'price' => $price, 'special' => $special, 'tax' => $tax, 'sticker' => $stickers, 'benefits' => $benefits, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url), 'cart' => $cart ); } Тоже такая же ошибка, но вывод фото работает Текст ошибки:: Undefined index: image in /public_html/system/storage/modification/catalog/controller/product/category.php пока решу проблему скрытием вывода ошибок
  6. @TomРешил доработать что бы совсем по феншую было, и если фотки производителя нет что бы показывало placeholder.png Сделал так: $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']); if ($manufacturer_info['image']) { $logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25); }else{ $logo_image = $this->model_tool_image->resize('placeholder.png', 50,50); } Работает но ругается так : Undefined index: image in Вопрос решается скрытием вывода ошибок, но это совсем глупое решение проблемы будет)) Что то не верно опять сделал? P.S. Не судите строго за код)
  7. @Tom удалось исправить проблему в ручную переписав строку 'logo_image' => $logo_image, с нуля) Видимо что-то не так было с кавычками
  8. Зашел в /system/storage/modification/catalog/controller/product/category.php Вот содержимое $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']); $logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25); $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'logo_image' => $logo_image, 'name' => $result['name'], 'description' => $description, 'product_type' => $result['sku'], 'sku' => $result['sku'], 'price' => $price, 'special' => $special, 'tax' => $tax, 'sticker' => $stickers, 'benefits' => $benefits, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url), 'cart' => $cart ); } $url = ''; Ругается на строку 310 в моем случае это 'name' => $result['name'], не врубаюсь блин что там не верного) все кавычки есть, запятая тоже)
  9. Да есть в логе ошибка эта Got error 'PHP message: PHP Parse error: syntax error, unexpected ''name'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /public_html/system/storage/modification/catalog/controller/product/category.php on line 310\n' подскажете как исправить ее? ругается на синтаксис вроде
  10. убираю строки вашего решения - чищу модификаторы - 500 ошибка уходит хотелось бы заставить это решение работать) так как оно действительно сделано по феншую)
  11. @Tom из за чего еще может быть 500 ошибка? все строки вашего решения поставил в нужные места через notepad ++ class ControllerProductCategory extends Controller { public function index() { $this->load->language('product/category'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $this->load->model('catalog/manufacturer'); if (isset($this->request->get['filter'])) { далее $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']); $logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 25, 25); $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'logo_image' => $logo_image, 'name' => $result['name'], 'description' => $description, 'product_type' => $result['sku'], 'sku' => $result['sku'], 'price' => $price, 'special' => $special, 'tax' => $tax, 'sticker' => $stickers, 'benefits' => $benefits, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url), 'cart' => $cart ); } и <img src="<?php echo $product['logo_image']; ?>" alt="">
  12. та вроде проверил, нету левых символов и все ок с синтаксисом
×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.