antipolizei Posted March 11, 2019 Report Share Posted March 11, 2019 Подскажите пожалуйста как вывести вместо: <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 - не работает. Quote Link to post Share on other sites
Noxter Posted March 11, 2019 Report Share Posted March 11, 2019 Пробовал |jpg, |webp - не работает.А ты бы ещё до |bmp додумался Симпла не работает с WEBP, нужны индивидуальные работы по программированию движка. Quote Link to post Share on other sites
antipolizei Posted March 11, 2019 Author Report Share Posted March 11, 2019 А ты бы ещё до |bmp додумался Симпла не работает с WEBP, нужны индивидуальные работы по программированию движка. Так у меня по-сути уже всё работает. Доработку по резайзу и созданию дополнительного webp внедрил, осталось только правильно вывести webp в шаблоне. Может как то можно вывести filename, но без расширения, чтобы руками его дописать потом в шаблоне? Пробовал в design.php и image.php убирать расширения, но тогда естественно новые изображения не генерятся. Quote Link to post Share on other sites
phukortsin Posted March 11, 2019 Report Share Posted March 11, 2019 Пробуйте простые способы вроде{($product->image->filename|resize:200:200:w)|replace:'.jpg':'.webp'} Quote Link to post Share on other sites
antipolizei Posted March 11, 2019 Author Report Share Posted March 11, 2019 Пробуйте простые способы вроде{($product->image->filename|resize:200:200:w)|replace:'.jpg':'.webp'} Крутяк! Спасибо) Ато я уже через str replace сделал по жести)Но так намного лучше) 99 в пэйджспиде, скорость подросла Quote Link to post Share on other sites
Noxter Posted March 11, 2019 Report Share Posted March 11, 2019 Пробуйте простые способы вроде {($product->image->filename|resize:200:200:w)|replace:'.jpg':'.webp'}Дебильное костыльное решение, до такого даже школота не додумается. Ума хватило только на переименование расширения файла, чего делать не стоит. Явный пример того как не стоит программировать, и это пишет великий знаток Корс который не отличает файлы от классов... Quote Link to post Share on other sites
phukortsin Posted March 11, 2019 Report Share Posted March 11, 2019 Дебильное костыльное решение, до такого даже школота не додумается.Ума хватило только на переименование расширения файла, чего делать не стоит.Явный пример того как не стоит программировать, и это пишет великий знаток Корс который не отличает файлы от классов... Это никакое не решение. А программированием тут вообще не пахнет. Дан лишь простой совет. Вы, дяденька, даже не можете отличить простой совет от программного кода.... Quote Link to post Share on other sites
Noxter Posted March 11, 2019 Report Share Posted March 11, 2019 Это никакое не решение. А программированием тут вообще не пахнет. Дан лишь простой совет. Вы, дяденька, даже не можете отличить простой совет от программного кода....Ты зациклен, несешь маразм Quote Link to post Share on other sites
phukortsin Posted March 11, 2019 Report Share Posted March 11, 2019 Ты зациклен, несешь маразм А тут Вы, уважаемый, несете чушь, или дичь, или ахинею. "несешь маразм" - бессмыслица, ибо маразм, как пишут в словарях, это состояние или болезнь. Стало быть, к высказываниям никак относиться не может.... Вы, дяденька, смысла слов уже не понимаете. Или путаете... Quote Link to post Share on other sites
Noxter Posted March 11, 2019 Report Share Posted March 11, 2019 А тут Вы, уважаемый, несете чушь, или дичь, или ахинею. "несешь маразм" - бессмыслица, ибо маразм, как пишут в словарях, это состояние или болезнь. Стало быть, к высказываниям никак относиться не может.... Вы, дяденька, смысла слов уже не понимаете. Или путаете...Тебе лечиться нужно, крыша совсем поехала на старости лет... Quote Link to post Share on other sites
Asilis Posted December 26, 2020 Report Share Posted December 26, 2020 В 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 в симплу с кодом и местами его вставки. Буду очень признателен. Quote Link to post Share on other sites
Noxter Posted December 26, 2020 Report Share Posted December 26, 2020 4 часа назад, Asilis сказал: Добрый день! Можете подсказать как вы внедрили webp в симплу с кодом и местами его вставки. Буду очень признателен. Рекомендую в помощь https://github.com/claviska/SimpleImage/blob/master/src/claviska/SimpleImage.php Quote Link to post Share on other sites
daramal Posted March 10, 2021 Report Share Posted March 10, 2021 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} Как сделать так, чтобы ресайзы создавались независимо от данного метода замены? Благодарю! Quote Link to post Share on other sites
daramal Posted March 11, 2021 Report Share Posted March 11, 2021 Друзья, решил тупо добавить в 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. Поэтому, как обновить все карточки товаров в админке одним разом? Пусть даже тупа с БД? Quote Link to post Share on other sites
daramal Posted March 11, 2021 Report Share Posted March 11, 2021 Решил вопрос иначе. В 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="" /> Quote Link to post Share on other sites
daramal Posted March 13, 2021 Report Share Posted March 13, 2021 (edited) 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 March 13, 2021 by daramal Quote Link to post Share on other sites
daramal Posted March 13, 2021 Report Share Posted March 13, 2021 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> Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.