Jump to content

Recommended Posts

Подскажите пожалуйста как вывести вместо:

 

<img src="{$product->image->filename|resize:200:200}" >
 

вот это:

<picture class="fn_img preview_img">
<source srcset="{$product->image->filename|resize:200:200}" type="image/webp">
<img class="fn_img preview_img" src="{$product->image->filename|resize:200:200}" >
</picture>
 

но только, чтобы подставлялся webp, где source и jpg там, где img
Сами файлы webp корректно создаются в папке products, вместе с jpg.

Пробовал |jpg, |webp - не работает.

 

Link to post
Share on other sites

Пробовал |jpg, |webp - не работает.

А ты бы ещё до |bmp додумался :D

Симпла не работает с WEBP, нужны индивидуальные работы по программированию движка.

Link to post
Share on other sites

А ты бы ещё до |bmp додумался :D

Симпла не работает с WEBP, нужны индивидуальные работы по программированию движка.

 

Так у меня по-сути уже всё работает. Доработку по резайзу и созданию дополнительного webp внедрил, осталось только правильно вывести webp в шаблоне. 

Может как то можно вывести filename, но без расширения, чтобы руками его дописать потом в шаблоне? Пробовал в design.php и image.php убирать расширения, но тогда естественно новые изображения не генерятся.

Link to post
Share on other sites

Пробуйте простые способы вроде

{($product->image->filename|resize:200:200:w)|replace:'.jpg':'.webp'}

 

Крутяк! Спасибо) Ато я уже через str replace сделал по жести)

Но так намного лучше) 99 в пэйджспиде, скорость подросла 

Link to post
Share on other sites

Пробуйте простые способы вроде

{($product->image->filename|resize:200:200:w)|replace:'.jpg':'.webp'}

Дебильное костыльное решение, до такого даже школота не додумается.

Ума хватило только на переименование расширения файла, чего делать не стоит.

Явный пример того как не стоит программировать, и это пишет великий знаток Корс который не отличает файлы от классов...

Link to post
Share on other sites

Дебильное костыльное решение, до такого даже школота не додумается.

Ума хватило только на переименование расширения файла, чего делать не стоит.

Явный пример того как не стоит программировать, и это пишет великий знаток Корс который не отличает файлы от классов...

 

Это никакое не решение. А программированием тут вообще не пахнет. Дан лишь простой совет. 

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

Link to post
Share on other sites

Это никакое не решение. А программированием тут вообще не пахнет. Дан лишь простой совет. 

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

Ты зациклен, несешь маразм
Link to post
Share on other sites

Ты зациклен, несешь маразм

 

А тут Вы, уважаемый, несете чушь, или дичь, или ахинею.

 

"несешь маразм" - бессмыслица, ибо маразм, как пишут в словарях, это состояние или болезнь. Стало быть, к высказываниям никак относиться не может....

 

Вы, дяденька, смысла слов уже не понимаете. Или путаете...

Link to post
Share on other sites

А тут Вы, уважаемый, несете чушь, или дичь, или ахинею.

 

"несешь маразм" - бессмыслица, ибо маразм, как пишут в словарях, это состояние или болезнь. Стало быть, к высказываниям никак относиться не может....

 

Вы, дяденька, смысла слов уже не понимаете. Или путаете...

Тебе лечиться нужно, крыша совсем поехала на старости лет...
Link to post
Share on other sites
  • 1 year later...
В 11.03.2019 в 12:00, antipolizei сказал:

Подскажите пожалуйста как вывести вместо:

 


<img src="{$product->image->filename|resize:200:200}" >
 

вот это:


<picture class="fn_img preview_img">
<source srcset="{$product->image->filename|resize:200:200}" type="image/webp">
<img class="fn_img preview_img" src="{$product->image->filename|resize:200:200}" >
</picture>
 

но только, чтобы подставлялся webp, где source и jpg там, где img
Сами файлы webp корректно создаются в папке products, вместе с jpg.

Пробовал |jpg, |webp - не работает.

 

Добрый день! Можете подсказать как вы внедрили webp в симплу с кодом и местами его вставки. Буду очень признателен.

Link to post
Share on other sites
4 часа назад, Asilis сказал:

Добрый день! Можете подсказать как вы внедрили webp в симплу с кодом и местами его вставки. Буду очень признателен.

Рекомендую в помощь https://github.com/claviska/SimpleImage/blob/master/src/claviska/SimpleImage.php

Link to post
Share on other sites
  • 2 months later...
On 3/11/2019 at 1:36 PM, phukortsin said:

Пробуйте простые способы вроде

{($product->image->filename|resize:200:200:w)|replace:'.jpg':'.webp'}

Расширение действительно заменяется и отлично работает, но есть к сожалению одно НО, он заменяется, после того, как ресайз создан. То есть если удалить файлы, к примеру в папке products и затем обновляешь страницу на сайте, то картинки пропадают, проверяешь папку products, а там ничего не создалось, пока не вернешь обратно исходный код:

{$product->image->filename|resize:200:200:w}

Как сделать так, чтобы ресайзы создавались независимо от данного метода замены?

Благодарю!

Link to post
Share on other sites

Друзья, решил тупо добавить в product.tpl админки под:

<img src="{$image->filename|resize:100:100}" alt="" />

следующее с шаблона:

<img src="{$image->filename|resize:800:600:w}" alt="" />
<img src="{$image->filename|resize:350:350}" alt="" />
<img src="{$image->filename|resize:80:80}" alt="" />

при сохранение товара или обновление страницы товара в админке, ресайзы картинок всех размеров сразу создаются, в том числе и .webp

А в шаблон product.tpl добавил замену расширения. В таком случае ресайзы заранее создаются и замена расширения работает отлично.

Но это при условии, что страница товара должна обновиться из админки!!!

Если вместо страницы product.tpl применить этот "метод" в странице products.tpl админки, то так проще обновить все товары и ресайзы тоже создаются, но на сайте,  в карточке товаров при веденном замене .jpg на .webp, картинки не отображаются. Видимо очередной конфликт в webp.

Поэтому, как обновить все карточки товаров в админке одним разом? Пусть даже тупа с БД?

Link to post
Share on other sites

Решил вопрос иначе.

В product.tpl шаблона там где фото тавара с ссылкой на большое фото записал так:

<a href="{$image->filename|resize:800:600:w} type='image/webp'">
<img src="{$image->filename|resize:350:350} type='image/webp'" alt="{$product->name|escape}" /></a>

а перед ним сделал ресайз нужных для меня размеров и скрыл их ))

<img style="display:none;" src="{$image->filename|resize:800:600:w}" alt="" />
<img style="display:none;" src="{$image->filename|resize:350:350}" alt="" />

 

Link to post
Share on other sites
On 3/12/2021 at 1:51 AM, daramal said:

Решил вопрос иначе.

В product.tpl шаблона там где фото тавара с ссылкой на большое фото записал так:



<a href="{$image->filename|resize:800:600:w} type='image/webp'">
<img src="{$image->filename|resize:350:350} type='image/webp'" alt="{$product->name|escape}" /></a>

а перед ним сделал ресайз нужных для меня размеров и скрыл их ))



<img style="display:none;" src="{$image->filename|resize:800:600:w}" alt="" />
<img style="display:none;" src="{$image->filename|resize:350:350}" alt="" />

 

Данное решиние отлично работает на Firefox, но оказалось, что на Chrome не очень.

на Firefox и картинки товара при сохранении выдаются в .webp, а вот на Chrome выдает .jpg/.png

Как Chrome заставить увидеть .webp?

Речь идет именно сохранение файла. А так, в Network-e все правильно заменяется и показывает мол webp

Edited by daramal
Link to post
Share on other sites
On 3/12/2021 at 1:51 AM, daramal said:

Решил вопрос иначе.

В product.tpl шаблона там где фото тавара с ссылкой на большое фото записал так:


<a href="{$image->filename|resize:800:600:w} type='image/webp'">
<img src="{$image->filename|resize:350:350} type='image/webp'" alt="{$product->name|escape}" /></a>

а перед ним сделал ресайз нужных для меня размеров и скрыл их ))


<img style="display:none;" src="{$image->filename|resize:800:600:w}" alt="" />
<img style="display:none;" src="{$image->filename|resize:350:350}" alt="" />

 

В общем дополнил это решение. Теперь и в Chrome все работает как надо.

записал вывод таким образом:

<a href="{($image->filename|resize:800:600:w)|replace:'.jpg':'.webp'|replace:'.png':'.webp'} type='image/webp'">
<img src="{($image->filename|resize:350:350)|replace:'.jpg':'.webp'|replace:'.png':'.webp'} type='image/webp'" alt="{$product->name|escape}" /></a>

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...