Господа подскажите, как автоматом добавить в код, к изображениям, их размеры? Версия движка 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�?�i�HF >��~��+K��X����Y��j"0�-��9~�N�8'�����I���/sV�%K�����K��[ ��$�f�䳂�&Y����u����νq���<Ϛ^��]<��n8;�s2�ԭ�N��f� ������jM�q���y����F�����;�}�tl�˰�my܂�
Нельзя так делать. Во первых, getImageSize ооооооооооооочень долгая, чтобы получить размер одного изображения иногда уходит 0.5 секунд. Сайт будет грузиться долго. Во вторых, замена всех image реплейсом из класса response - очень плохая идея, которая никак не сходится с архитектурой OpenCart, получается говнокод. Хотите сделать из магазина помойку, пожалуйста. Самый правильный способ - указать размеры только для тех изображений, которым это необходимо. Как узнать каким изображениям это необходимо? Во первых, это все изображения в шапке сайта т.е. чаще всего это только логотип. для этого необходимо открыть логотип, узнать его размер. Открыть файл catalog/view/theme/название-темы/common/header.tpl найти вывод логотипа и вручную указать высоту и ширину. Так же с остальными изображениями в шапке сайта. Во вторых, изображения категорий и модулей, которые стоят в начале страницы, т.е. модулей, которые показаны при загрузке сайта без прокрутки страницы. В обоих случаях необходимо получить настройки (ширина/высота) изображений в контроллере и передать их в шаблон. Но чтобы ускорить процесс, можно получить и вставить ширину и высоту прямо в файле шаблона. Открываем файл шаблона категории, находим вывод изображения товара и добавляем ширину и высоту: PHP: <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> Аналогично с файлами шаблонов модулей.
Нет. Загружаются и хранятся оригиналы. Только когда изображение необходимо на странице витрины - создается копия изображения с заданными размерми(кэш картинок).
Спасибо большое, в основном все работает, но на некоторых картинках, размер стоит, а http://gtmetrix.com говорит что нужно поставить. Непонятно???7
Вы неправильно указываете размеры!!! В формате HTML!!! Откуда Вы взяли "width: 500px; height: 60px;" и style= "width: 500px; height: 60px;" ????? Нужно вот так: PHP: <img src="<?php echo $logo;?>" title=" <?php echo $name;?>" width="500" height="60" alt=" <?php echo $name;?>" />
Эфект такой же же. Главное что, в исходнике страницы есть размеры, а http://gtmetrix.com по прежнему говорит что нет.
Может Вы случайно знаете как влиять на эти заданные размеры... а то грузит мелкие какие-то, хотя залиты крупные. v 2.0.1.1
в админке СИСТЕМА-НАСТРОЙКИ-(изменить)-Вкладка ИЗОБРАЖЕНИЯ почему то мне кажется, что Вас именно это интересует.
catalog/controller/product/product.php замените Код: $this->data['thumb'] = $this->model_tool_image->resize($image, $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height')); на: Код: $this->data['thumb'] = 'image/' . $image;
отличная тема! а как же насчет переноса картинок на внешний / домен второго уровня? это ведь также приведет к увеличению скорости загрузки?