qqq64 Опубліковано: 31 березня 2015 Share Опубліковано: 31 березня 2015 Господа подскажите, как автоматом добавить в код, к изображениям, их размеры? Версия движка 1.5.6.4Вот нашел кодОткройте следующий файл в текстовом редакторе: System/Library/Response.php Найдите следующую строку кода в файле: if ($this->level) {Затем добавьте следующий код просто прежде чем выше линии: //Q: Add width/height tags to all images for Google Page Speed tip: //http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyImageDimensions preg_match_all('/<img[^>]+>/i', $this->output, $result); $img = array(); foreach($result[0] as $img_tag) { preg_match_all('/(width|height|src)=("[^"]*")/i',$img_tag, $img[$img_tag]); } foreach ($img as $k => $info) { if (count($info) == 3 && $info[1][0] == 'src') { //if (curl_init(str_replace('"', '', $info[2][0]))) { $imgfile = str_replace('"', '', $info[2][0]); $imgfile = str_replace(HTTP_SERVER, DIR_IMAGE . '../', $imgfile); $imgfile = str_replace(HTTPS_SERVER, DIR_IMAGE . '../', $imgfile); if (file_exists($imgfile)) { $image_info = getImageSize(str_replace('"', '', $imgfile)); $k = trim($k, '/>'); $k = trim($k, '>'); $this->output = str_replace($k, ($k . ' ' . $image_info[3]), $this->output); } } } // Но он не работает, : ??? Выдает на всю страницу: ache/vq2-system_library_response.php on line 97 }kƕs?iHF >~+KXYj"0-9~N8'I/sV%KK[ $f䳂&Yuνq<Ϛ^]<n8;s2ԭNf jMqyF;}tl˰my܂܂ Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 1 квітня 2015 Share Опубліковано: 1 квітня 2015 Повторюсь, нельзя так делать, особенно на адаптивных шаблонах типа Shoppica2. Во первых, getImageSize ооооооооооооочень долгая, чтобы получить размер одного изображения иногда уходит 0.5 секунд. Сайт будет грузиться долго. Во вторых, замена всех image реплейсом из класса response - очень плохая идея, которая никак не сходится с архитектурой OpenCart, получается говнокод. Хотите сделать из магазина помойку, пожалуйста.Самый правильный способ - указать размеры только для тех изображений, которым это необходимо. Как узнать каким изображениям это необходимо? Во первых, это все изображения в шапке сайта т.е. чаще всего это только логотип. для этого необходимо открыть логотип, узнать его размер. Открыть файл catalog/view/theme/название-темы/common/header.tpl найти вывод логотипа и вручную указать высоту и ширину. Так же с остальными изображениями в шапке сайта. Во вторых, изображения категорий и модулей, которые стоят в начале страницы, т.е. модулей, которые показаны при загрузке сайта без прокрутки страницы.В обоих случаях необходимо получить настройки (ширина/высота) изображений в контроллере и передать их в шаблон. Но чтобы ускорить процесс, можно получить и вставить ширину и высоту прямо в файле шаблона. Открываем файл шаблона категории, находим вывод изображения товара и добавляем ширину и высоту: <div class="image"> <a href="<?php echo $product['href']; ?>"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>" alt="<?php echo $product['name']; ?>" /> </a> </div> Аналогично с файлами шаблонов модулей. Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 1 квітня 2015 Share Опубліковано: 1 квітня 2015 А почему не вынимать еще из контроллера размеры? Ведь указываются они еще в админке, потом в контролере используются для изменения размеров изображений, шлепаем в переменные и вызывает вместе с путем каринки, профит. не знаю какой вариант лучше, мой или пользователя halfhope Надіслати Поділитися на інших сайтах More sharing options... qqq64 Опубліковано: 1 квітня 2015 Автор Share Опубліковано: 1 квітня 2015 Повторюсь, нельзя так делать, особенно на адаптивных шаблонах типа Shoppica2. Во первых, getImageSize ооооооооооооочень долгая, чтобы получить размер одного изображения иногда уходит 0.5 секунд. Сайт будет грузиться долго. Во вторых, замена всех image реплейсом из класса response - очень плохая идея, которая никак не сходится с архитектурой OpenCart, получается говнокод. Хотите сделать из магазина помойку, пожалуйста. Самый правильный способ - указать размеры только для тех изображений, которым это необходимо. Как узнать каким изображениям это необходимо? Во первых, это все изображения в шапке сайта т.е. чаще всего это только логотип. для этого необходимо открыть логотип, узнать его размер. Открыть файл catalog/view/theme/название-темы/common/header.tpl найти вывод логотипа и вручную указать высоту и ширину. Так же с остальными изображениями в шапке сайта. Во вторых, изображения категорий и модулей, которые стоят в начале страницы, т.е. модулей, которые показаны при загрузке сайта без прокрутки страницы. В обоих случаях необходимо получить настройки (ширина/высота) изображений в контроллере и передать их в шаблон. Но чтобы ускорить процесс, можно получить и вставить ширину и высоту прямо в файле шаблона. Открываем файл шаблона категории, находим вывод изображения товара и добавляем ширину и высоту: <div class="image"> <a href="<?php echo $product['href']; ?>"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>" alt="<?php echo $product['name']; ?>" /> </a> </div> Аналогично с файлами шаблонов модулей. В общем все работает, единственное непонятно; в некоторых картинках размер указан, а gtmetrix.com говорит что надо поставить??? Пробовал так и этак результат одинаковый: <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" style= "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 А почему не вынимать еще из контроллера размеры? Ведь указываются они еще в админке, потом в контролере используются для изменения размеров изображений, шлепаем в переменные и вызывает вместе с путем каринки, профит. не знаю какой вариант лучше, мой или пользователя halfhope Можно и так, так даже правильней. Я просто чтобы пользователи не путались так сделал. В общем все работает, единственное непонятно; в некоторых картинках размер указан, а gtmetrix.com говорит что надо поставить??? Пробовал так и этак результат одинаковый: <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" style= "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ????? Нужно вот так <img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" width="500" height="60" alt=" <?php echo $name; ?>" /> Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 А как реализовать мой вариант?) Надіслати Поділитися на інших сайтах More sharing options... qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Можно и так, так даже правильней. Я просто чтобы пользователи не путались так сделал. Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ????? Нужно вот так <img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" width="500" height="60" alt=" <?php echo $name; ?>" /> Эфект тот же. Главное что, в исходном коде страницы есть размеры, а gtmetrix.com по прежнему утверждает что нет. когда использовал : width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>"gtmetrix.com сказл ОК! а конкретные размеры не хочет??? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 Gtmetrix кэширует результаты, либо, ессди сайт подкдючен к cloudflare стоит подождать обновления кода. а конкретные размеры не хочет??? Это о чем? Надіслати Поділитися на інших сайтах More sharing options... qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Имею ввиду те размеры, какие прописывал вручную, а не где подставлялось значение. Все размеры есть, кроме логотипа в хедере - размеры указаны а gtmetrix.com утверждает что нет. Рядом другая картинка стоит - так с ней все нормально, прописано одинаково, - мистика какая то ? Пробовал загружать другие страницы в gtmetrix.com все равно упорно не видит. К cloudflare не подключен. Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 8 квітня 2015 Share Опубліковано: 8 квітня 2015 qqq64, дружище, ты проблему решаешь или "gtmetrix" рекламируешь? А как реализовать мой вариант?) в твоем варианте ты и так уже написал, как реализовать - передавай размеры из настроек в переменную и используй в шаблонах. Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 А как реализовать мой вариант?) Мой вариант идет в обход контроллера. Я получаю данные в шаблне сразу из настроек магазина, минуя присвоение в контроллере. Заметь, что хэндл приложения доступен в шаблоне т.е. в шаблоне можно использовать $this и все его плюшки минуя контроллер. Я именно так и сделал т.к. лень передавать данные из контроллера в шаблон. Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 так по дефолту мы берем данные из контроллера в шаблон =\ как я понимаю, вся работаю заключается в одной строчке где берем оригинальную картинку, размеры из админки и все это заворачиваем в ... метод? О_О не знаю точного названия, пускай будет в функцию. Ну да, для каждого "шаблона" (каталог, карточка и т.д.) доделывать, но по сути копи паст =\ имхо. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Уважаемый, halfhope! Нашел эту тему случайно. Модифицировал себе response.php как у топикстартера с getImageSize. На сервере вроде не тормозило. А вот на локальном сервере - тормоза очень приличные. Удалил нафиг этот метод добавления размеров. А что Вы скажете на такой способ решения проблемы с добавлением размеров изображений (нашел здесь: http://forum.opencart.com/viewtopic.php?f=121&t=20057): "Modifying the individual controllers and templates is the best method to implement width/height tags. For those who are lazy and don't mind some sloppy code they can just replace:catalog/model/tool/image.php if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } with if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } and that will automatically add it everywhere an image is generated. This won't work for any images which aren't resized." И вот такая модификация этого кода: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } Не знаю чем этот вариант отличается. Спасибо за консультацию! Змінено 14 листопада 2015 користувачем sadko Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Супер, в данном случае OpenCart уже знает размеры изображения и Вы просто выводите их. Это лучший вариант! Только скорей всего не прокатит со слайдерами и другими javascript модулями, им нужен чистый путь к изображению, без лишнего HTML. Змінено 17 листопада 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено?..] Размер изображений? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
RodgerFox Опубліковано: 1 квітня 2015 Share Опубліковано: 1 квітня 2015 А почему не вынимать еще из контроллера размеры? Ведь указываются они еще в админке, потом в контролере используются для изменения размеров изображений, шлепаем в переменные и вызывает вместе с путем каринки, профит. не знаю какой вариант лучше, мой или пользователя halfhope Надіслати Поділитися на інших сайтах More sharing options...
qqq64 Опубліковано: 1 квітня 2015 Автор Share Опубліковано: 1 квітня 2015 Повторюсь, нельзя так делать, особенно на адаптивных шаблонах типа Shoppica2. Во первых, getImageSize ооооооооооооочень долгая, чтобы получить размер одного изображения иногда уходит 0.5 секунд. Сайт будет грузиться долго. Во вторых, замена всех image реплейсом из класса response - очень плохая идея, которая никак не сходится с архитектурой OpenCart, получается говнокод. Хотите сделать из магазина помойку, пожалуйста. Самый правильный способ - указать размеры только для тех изображений, которым это необходимо. Как узнать каким изображениям это необходимо? Во первых, это все изображения в шапке сайта т.е. чаще всего это только логотип. для этого необходимо открыть логотип, узнать его размер. Открыть файл catalog/view/theme/название-темы/common/header.tpl найти вывод логотипа и вручную указать высоту и ширину. Так же с остальными изображениями в шапке сайта. Во вторых, изображения категорий и модулей, которые стоят в начале страницы, т.е. модулей, которые показаны при загрузке сайта без прокрутки страницы. В обоих случаях необходимо получить настройки (ширина/высота) изображений в контроллере и передать их в шаблон. Но чтобы ускорить процесс, можно получить и вставить ширину и высоту прямо в файле шаблона. Открываем файл шаблона категории, находим вывод изображения товара и добавляем ширину и высоту: <div class="image"> <a href="<?php echo $product['href']; ?>"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>" alt="<?php echo $product['name']; ?>" /> </a> </div> Аналогично с файлами шаблонов модулей. В общем все работает, единственное непонятно; в некоторых картинках размер указан, а gtmetrix.com говорит что надо поставить??? Пробовал так и этак результат одинаковый: <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" style= "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 А почему не вынимать еще из контроллера размеры? Ведь указываются они еще в админке, потом в контролере используются для изменения размеров изображений, шлепаем в переменные и вызывает вместе с путем каринки, профит. не знаю какой вариант лучше, мой или пользователя halfhope Можно и так, так даже правильней. Я просто чтобы пользователи не путались так сделал. В общем все работает, единственное непонятно; в некоторых картинках размер указан, а gtmetrix.com говорит что надо поставить??? Пробовал так и этак результат одинаковый: <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> <div id="logo"><a href="<?php echo $home; ?>"><img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" style= "width: 500px; height: 60px;" alt=" <?php echo $name; ?>" /></a></div> Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ????? Нужно вот так <img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" width="500" height="60" alt=" <?php echo $name; ?>" /> Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 А как реализовать мой вариант?) Надіслати Поділитися на інших сайтах More sharing options... qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Можно и так, так даже правильней. Я просто чтобы пользователи не путались так сделал. Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ????? Нужно вот так <img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" width="500" height="60" alt=" <?php echo $name; ?>" /> Эфект тот же. Главное что, в исходном коде страницы есть размеры, а gtmetrix.com по прежнему утверждает что нет. когда использовал : width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>"gtmetrix.com сказл ОК! а конкретные размеры не хочет??? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 Gtmetrix кэширует результаты, либо, ессди сайт подкдючен к cloudflare стоит подождать обновления кода. а конкретные размеры не хочет??? Это о чем? Надіслати Поділитися на інших сайтах More sharing options... qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Имею ввиду те размеры, какие прописывал вручную, а не где подставлялось значение. Все размеры есть, кроме логотипа в хедере - размеры указаны а gtmetrix.com утверждает что нет. Рядом другая картинка стоит - так с ней все нормально, прописано одинаково, - мистика какая то ? Пробовал загружать другие страницы в gtmetrix.com все равно упорно не видит. К cloudflare не подключен. Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 8 квітня 2015 Share Опубліковано: 8 квітня 2015 qqq64, дружище, ты проблему решаешь или "gtmetrix" рекламируешь? А как реализовать мой вариант?) в твоем варианте ты и так уже написал, как реализовать - передавай размеры из настроек в переменную и используй в шаблонах. Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 А как реализовать мой вариант?) Мой вариант идет в обход контроллера. Я получаю данные в шаблне сразу из настроек магазина, минуя присвоение в контроллере. Заметь, что хэндл приложения доступен в шаблоне т.е. в шаблоне можно использовать $this и все его плюшки минуя контроллер. Я именно так и сделал т.к. лень передавать данные из контроллера в шаблон. Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 так по дефолту мы берем данные из контроллера в шаблон =\ как я понимаю, вся работаю заключается в одной строчке где берем оригинальную картинку, размеры из админки и все это заворачиваем в ... метод? О_О не знаю точного названия, пускай будет в функцию. Ну да, для каждого "шаблона" (каталог, карточка и т.д.) доделывать, но по сути копи паст =\ имхо. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Уважаемый, halfhope! Нашел эту тему случайно. Модифицировал себе response.php как у топикстартера с getImageSize. На сервере вроде не тормозило. А вот на локальном сервере - тормоза очень приличные. Удалил нафиг этот метод добавления размеров. А что Вы скажете на такой способ решения проблемы с добавлением размеров изображений (нашел здесь: http://forum.opencart.com/viewtopic.php?f=121&t=20057): "Modifying the individual controllers and templates is the best method to implement width/height tags. For those who are lazy and don't mind some sloppy code they can just replace:catalog/model/tool/image.php if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } with if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } and that will automatically add it everywhere an image is generated. This won't work for any images which aren't resized." И вот такая модификация этого кода: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } Не знаю чем этот вариант отличается. Спасибо за консультацию! Змінено 14 листопада 2015 користувачем sadko Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Супер, в данном случае OpenCart уже знает размеры изображения и Вы просто выводите их. Это лучший вариант! Только скорей всего не прокатит со слайдерами и другими javascript модулями, им нужен чистый путь к изображению, без лишнего HTML. Змінено 17 листопада 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено?..] Размер изображений? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
RodgerFox Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 А как реализовать мой вариант?) Надіслати Поділитися на інших сайтах More sharing options...
qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Можно и так, так даже правильней. Я просто чтобы пользователи не путались так сделал. Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ????? Нужно вот так <img src="<?php echo $logo; ?>" title=" <?php echo $name; ?>" width="500" height="60" alt=" <?php echo $name; ?>" /> Эфект тот же. Главное что, в исходном коде страницы есть размеры, а gtmetrix.com по прежнему утверждает что нет. когда использовал : width="<?php echo $this->config->get('config_image_product_width') ?>" height="<?php echo $this->config->get('config_image_product_height') ?>"gtmetrix.com сказл ОК! а конкретные размеры не хочет??? Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 2 квітня 2015 Share Опубліковано: 2 квітня 2015 Gtmetrix кэширует результаты, либо, ессди сайт подкдючен к cloudflare стоит подождать обновления кода. а конкретные размеры не хочет??? Это о чем? Надіслати Поділитися на інших сайтах More sharing options... qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Имею ввиду те размеры, какие прописывал вручную, а не где подставлялось значение. Все размеры есть, кроме логотипа в хедере - размеры указаны а gtmetrix.com утверждает что нет. Рядом другая картинка стоит - так с ней все нормально, прописано одинаково, - мистика какая то ? Пробовал загружать другие страницы в gtmetrix.com все равно упорно не видит. К cloudflare не подключен. Надіслати Поділитися на інших сайтах More sharing options... afwollis Опубліковано: 8 квітня 2015 Share Опубліковано: 8 квітня 2015 qqq64, дружище, ты проблему решаешь или "gtmetrix" рекламируешь? А как реализовать мой вариант?) в твоем варианте ты и так уже написал, как реализовать - передавай размеры из настроек в переменную и используй в шаблонах. Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 А как реализовать мой вариант?) Мой вариант идет в обход контроллера. Я получаю данные в шаблне сразу из настроек магазина, минуя присвоение в контроллере. Заметь, что хэндл приложения доступен в шаблоне т.е. в шаблоне можно использовать $this и все его плюшки минуя контроллер. Я именно так и сделал т.к. лень передавать данные из контроллера в шаблон. Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 так по дефолту мы берем данные из контроллера в шаблон =\ как я понимаю, вся работаю заключается в одной строчке где берем оригинальную картинку, размеры из админки и все это заворачиваем в ... метод? О_О не знаю точного названия, пускай будет в функцию. Ну да, для каждого "шаблона" (каталог, карточка и т.д.) доделывать, но по сути копи паст =\ имхо. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Уважаемый, halfhope! Нашел эту тему случайно. Модифицировал себе response.php как у топикстартера с getImageSize. На сервере вроде не тормозило. А вот на локальном сервере - тормоза очень приличные. Удалил нафиг этот метод добавления размеров. А что Вы скажете на такой способ решения проблемы с добавлением размеров изображений (нашел здесь: http://forum.opencart.com/viewtopic.php?f=121&t=20057): "Modifying the individual controllers and templates is the best method to implement width/height tags. For those who are lazy and don't mind some sloppy code they can just replace:catalog/model/tool/image.php if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } with if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } and that will automatically add it everywhere an image is generated. This won't work for any images which aren't resized." И вот такая модификация этого кода: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } Не знаю чем этот вариант отличается. Спасибо за консультацию! Змінено 14 листопада 2015 користувачем sadko Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Супер, в данном случае OpenCart уже знает размеры изображения и Вы просто выводите их. Это лучший вариант! Только скорей всего не прокатит со слайдерами и другими javascript модулями, им нужен чистый путь к изображению, без лишнего HTML. Змінено 17 листопада 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено?..] Размер изображений? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
qqq64 Опубліковано: 2 квітня 2015 Автор Share Опубліковано: 2 квітня 2015 Имею ввиду те размеры, какие прописывал вручную, а не где подставлялось значение. Все размеры есть, кроме логотипа в хедере - размеры указаны а gtmetrix.com утверждает что нет. Рядом другая картинка стоит - так с ней все нормально, прописано одинаково, - мистика какая то ? Пробовал загружать другие страницы в gtmetrix.com все равно упорно не видит. К cloudflare не подключен. Надіслати Поділитися на інших сайтах More sharing options...
afwollis Опубліковано: 8 квітня 2015 Share Опубліковано: 8 квітня 2015 qqq64, дружище, ты проблему решаешь или "gtmetrix" рекламируешь? А как реализовать мой вариант?) в твоем варианте ты и так уже написал, как реализовать - передавай размеры из настроек в переменную и используй в шаблонах. Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 А как реализовать мой вариант?) Мой вариант идет в обход контроллера. Я получаю данные в шаблне сразу из настроек магазина, минуя присвоение в контроллере. Заметь, что хэндл приложения доступен в шаблоне т.е. в шаблоне можно использовать $this и все его плюшки минуя контроллер. Я именно так и сделал т.к. лень передавать данные из контроллера в шаблон. Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 так по дефолту мы берем данные из контроллера в шаблон =\ как я понимаю, вся работаю заключается в одной строчке где берем оригинальную картинку, размеры из админки и все это заворачиваем в ... метод? О_О не знаю точного названия, пускай будет в функцию. Ну да, для каждого "шаблона" (каталог, карточка и т.д.) доделывать, но по сути копи паст =\ имхо. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Уважаемый, halfhope! Нашел эту тему случайно. Модифицировал себе response.php как у топикстартера с getImageSize. На сервере вроде не тормозило. А вот на локальном сервере - тормоза очень приличные. Удалил нафиг этот метод добавления размеров. А что Вы скажете на такой способ решения проблемы с добавлением размеров изображений (нашел здесь: http://forum.opencart.com/viewtopic.php?f=121&t=20057): "Modifying the individual controllers and templates is the best method to implement width/height tags. For those who are lazy and don't mind some sloppy code they can just replace:catalog/model/tool/image.php if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } with if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } and that will automatically add it everywhere an image is generated. This won't work for any images which aren't resized." И вот такая модификация этого кода: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } Не знаю чем этот вариант отличается. Спасибо за консультацию! Змінено 14 листопада 2015 користувачем sadko Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Супер, в данном случае OpenCart уже знает размеры изображения и Вы просто выводите их. Это лучший вариант! Только скорей всего не прокатит со слайдерами и другими javascript модулями, им нужен чистый путь к изображению, без лишнего HTML. Змінено 17 листопада 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено?..] Размер изображений? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
halfhope Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 А как реализовать мой вариант?) Мой вариант идет в обход контроллера. Я получаю данные в шаблне сразу из настроек магазина, минуя присвоение в контроллере. Заметь, что хэндл приложения доступен в шаблоне т.е. в шаблоне можно использовать $this и все его плюшки минуя контроллер. Я именно так и сделал т.к. лень передавать данные из контроллера в шаблон. Надіслати Поділитися на інших сайтах More sharing options... RodgerFox Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 так по дефолту мы берем данные из контроллера в шаблон =\ как я понимаю, вся работаю заключается в одной строчке где берем оригинальную картинку, размеры из админки и все это заворачиваем в ... метод? О_О не знаю точного названия, пускай будет в функцию. Ну да, для каждого "шаблона" (каталог, карточка и т.д.) доделывать, но по сути копи паст =\ имхо. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Уважаемый, halfhope! Нашел эту тему случайно. Модифицировал себе response.php как у топикстартера с getImageSize. На сервере вроде не тормозило. А вот на локальном сервере - тормоза очень приличные. Удалил нафиг этот метод добавления размеров. А что Вы скажете на такой способ решения проблемы с добавлением размеров изображений (нашел здесь: http://forum.opencart.com/viewtopic.php?f=121&t=20057): "Modifying the individual controllers and templates is the best method to implement width/height tags. For those who are lazy and don't mind some sloppy code they can just replace:catalog/model/tool/image.php if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } with if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } and that will automatically add it everywhere an image is generated. This won't work for any images which aren't resized." И вот такая модификация этого кода: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } Не знаю чем этот вариант отличается. Спасибо за консультацию! Змінено 14 листопада 2015 користувачем sadko Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Супер, в данном случае OpenCart уже знает размеры изображения и Вы просто выводите их. Это лучший вариант! Только скорей всего не прокатит со слайдерами и другими javascript модулями, им нужен чистый путь к изображению, без лишнего HTML. Змінено 17 листопада 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено?..] Размер изображений? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
RodgerFox Опубліковано: 10 квітня 2015 Share Опубліковано: 10 квітня 2015 так по дефолту мы берем данные из контроллера в шаблон =\ как я понимаю, вся работаю заключается в одной строчке где берем оригинальную картинку, размеры из админки и все это заворачиваем в ... метод? О_О не знаю точного названия, пускай будет в функцию. Ну да, для каждого "шаблона" (каталог, карточка и т.д.) доделывать, но по сути копи паст =\ имхо. Надіслати Поділитися на інших сайтах More sharing options...
sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Уважаемый, halfhope! Нашел эту тему случайно. Модифицировал себе response.php как у топикстартера с getImageSize. На сервере вроде не тормозило. А вот на локальном сервере - тормоза очень приличные. Удалил нафиг этот метод добавления размеров. А что Вы скажете на такой способ решения проблемы с добавлением размеров изображений (нашел здесь: http://forum.opencart.com/viewtopic.php?f=121&t=20057): "Modifying the individual controllers and templates is the best method to implement width/height tags. For those who are lazy and don't mind some sloppy code they can just replace:catalog/model/tool/image.php if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } with if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } and that will automatically add it everywhere an image is generated. This won't work for any images which aren't resized." И вот такая модификация этого кода: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } Не знаю чем этот вариант отличается. Спасибо за консультацию! Змінено 14 листопада 2015 користувачем sadko Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 (змінено) Супер, в данном случае OpenCart уже знает размеры изображения и Вы просто выводите их. Это лучший вариант! Только скорей всего не прокатит со слайдерами и другими javascript модулями, им нужен чистый путь к изображению, без лишнего HTML. Змінено 17 листопада 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено?..] Размер изображений?
sadko Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 а что особенного в этом варианте: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } ? Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 14 листопада 2015 Share Опубліковано: 14 листопада 2015 Не используется getImageSize, используются заданные в OpenCart размеры и править необходимо всего в одном месте, а не в шаблоне/контроллере. Хотя с точки зрения MVC это не очень правильно. Зато очень быстро. Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Я имел ввиду чем отличаются между собой эти два варианта: if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } else { return HTTP_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; } и if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } else { return $this->config->get('config_url') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; } тут строки по разному записаны: return HTTPS_IMAGE . $new_image . '" width="' . $width . '" height="' . $height; и эта же строка во 2-м варианте: return $this->config->get('config_ssl') . 'image/' . $new_image . '" width="' . $width . '" height="' . $height; Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Ничем, просто разные версии OpenCart Надіслати Поділитися на інших сайтах More sharing options... sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
sadko Опубліковано: 15 листопада 2015 Share Опубліковано: 15 листопада 2015 Сделал себе на сайте. Работает. Есть небольшое НО, которое и было описано в исходнике - не ставит размеры на картинки, которым не делается resize. К примеру - логотип. На картинках которые в fancy-box увеличиваются на странице товара. Баннеры. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts