Перейти к содержимому


Фото
* * * * * 1 голосов

Консультация по движку


  • Чтобы отвечать, сперва войдите на форум
81 ответов в теме

#41 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 15.05.2017 - 12:45

Видимо, дело в настройках на локальном сервере. Причин может быть разных много. надо проверять все детали. Начиная от тривиальных - установлен ли Imagick,установлена ли библиотека GD, какой из двух способов резайза используется.

Лучше всего проверять в недрах скрипта нарезки изображений...

В чистой симпле, с дефолтной темой все работает независимо от способа. Значит дело не в настройках сервера, я так понимаю.
С другой стороны на хосте так же все работает....
скрипт нарезки - Image.php, правильно я понимаю?
Да, заметил еще ошибку яваскрипта в админке, при перетаскивании файлов, не определена переменная clone_input, хотя в дефолтной теме сохраняет и нарезает с этой ошибкой.



#42 ahmed

ahmed
  • Пользователь
  • 172 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 15.05.2017 - 14:26

В чистой симпле, с дефолтной темой все работает независимо от способа. Значит дело не в настройках сервера, я так понимаю.
С другой стороны на хосте так же все работает....

 
Надо не гадать, а проверять все точно и находить конкретные места с ошибкой.
И связывать вопрос картинок с темой не стоит, все можно и нужно проверять в админке.

#43 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 10:20

В общем проблему я решил, только некоторые моменты мне не понятны:
1. зачем необходимо token($resized_filename)

2. Исходя из resize.php  image->resize($filenamе) запускается каждый раз, когда  $_GET['file'], но в resize($filenamе) я не увидел проверку на то, что файл уже есть
 



#44 Kosjak76

Kosjak76
  • Модератор
  • 3 857 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 16.05.2017 - 10:23

Проверка происходит в .htaccess

А токен нужен для безопасности, запрещает нарезку произвольных размеров



#45 ahmed

ahmed
  • Пользователь
  • 172 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 10:26

1.

http://forum.simplac...са-изображения/

http://forum.simplac...я-по-переделке/



#46 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 12:25

1.

http://forum.simplac...са-изображения/

http://forum.simplac...я-по-переделке/

Хм, изучил... В моем случае тема которая используется как раз содержит вариант Давинчи, а не работало потому-что resize.php был заводской, я копировал с хоста только папки api, design, files, view.
Так вот к теме. Почему все что я прочитал крутится вокруг resize.php, image->rezize, resize_modifier и никто не глянул в сторону upload_image, загружает пользователь картинку - нарезались все необходимые размеры?



#47 Kosjak76

Kosjak76
  • Модератор
  • 3 857 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 16.05.2017 - 12:32

Потому что так было в первой версии, а сейчас в шаблоне можно указывать нужный размер

В одном шаблоне 200 на 200, а в другом 400 на 400



#48 ahmed

ahmed
  • Пользователь
  • 172 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 12:36

Смотря что понимаете под "все необходимые размеры"...

 

А размер может измениться в шаблоне в любой момент - поэтому необходимы ВСЕ теоретически возможные размеры.

Хотите, что нарезались сразу МИЛЛИОН картинок - от 1х1 до 1000х1000 и даже больше? Ни один сервер не выдержит...



#49 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 12:53

Потому что так было в первой версии, а сейчас в шаблоне можно указывать нужный размер

В одном шаблоне 200 на 200, а в другом 400 на 400

 

 

Смотря что понимаете под "все необходимые размеры"...

 

А размер может измениться в шаблоне в любой момент - поэтому необходимы ВСЕ теоретически возможные размеры.

Хотите, что нарезались сразу МИЛЛИОН картинок - от 1х1 до 1000х1000 и даже больше? Ни один сервер не выдержит...

Ну не бывает же магии и чудес, задача избавиться от токена, при этом что-бы не нарезались неиспользуемые размеры и в добавок с минимальной нагрузкой....
В варианте Давинчи используя settings->image_sizes картинки режутся всех размеров указанных в настройке. Ну так они же и используются, не так ли? в тот или иной момент она загружается, не важно в какой промежуток времени.
Ну так почему бы размеры не брать от туда?
Преимущества на мой взгляд в том, что добавляя картинку к товару используемые размеры нарезались и лежат себе ждут своего часа.
Вопрос каким образом эту настройку задавать - это уже другой вопрос, на который как мне кажется можно найти адекватное решение.



#50 Kosjak76

Kosjak76
  • Модератор
  • 3 857 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 16.05.2017 - 13:14

Вы смысла не понимаете))

Вот у вас стоит шаблон, внем картинки 200 на 200

Вы их грузите - они нарезаются

А потом вы шаблон сменили - нужны картинки 400 на 400 - где вы их возьмете???

А про токен - это глупости, он никому не мешает



#51 ahmed

ahmed
  • Пользователь
  • 172 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 13:16

В варианте Давинчи используя settings->image_sizes картинки режутся всех размеров указанных в настройке. Ну так они же и используются, не так ли? в тот или иной момент она загружается, не важно в какой промежуток времени.
Ну так почему бы размеры не брать от туда?
Преимущества на мой взгляд в том, что добавляя картинку к товару используемые размеры нарезались и лежат себе ждут своего часа.

 

Вы забыли указать недостатки, а их немало:

1. Придется нарезать на ходу все картинок из настроек. А там могут быть старые размеры, которые уже в шаблоне не используются.  Лишняя нагрузка и лишнее дисковое пространство.

2. Если в шаблоне появится новый размер, то для загруженных ранее картинок ссылка будет битой. Чтобы этого избежать, надо использовать оба способа - первоначальная нарезка всех размеров из списка плюс добавление на ходу, если надо.  А тогда вопрос - зачем первый способ, когда и второй в одиночку справится?

3. Бывают в верстке случаи, когда у товара для первой картинки в шаблоне используется размер, скажем 600х600, а у второй и прочих - не используется. Опять имеем непроизводительный расход ресурсов сервера.

 

Впрочем, Вам никто не мешает переделать по своему способу. Вроде бы оно не слишком сложно...


Изменено: ahmed, 16.05.2017 - 13:17


#52 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2017 - 17:35

3. Бывают в верстке случаи, когда у товара для первой картинки в шаблоне используется размер, скажем 600х600, а у второй и прочих - не используется. Опять имеем непроизводительный расход ресурсов сервера.

Это самый весомый аргумент



#53 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 18.05.2017 - 09:54

{if $product->variants|count > 0} - это проверка на наличие товара. Т.е. если есть хоть один вариант товар считается в наличии?
Можно подробней про эту логику?



#54 Noxter

Noxter
  • Фрилансер
  • 87 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 18.05.2017 - 10:13

{if $product->variants|count > 0} - это проверка на наличие товара. Т.е. если есть хоть один вариант товар считается в наличии?
Можно подробней про эту логику?

Подробнее больше некуда, и так все прозрачно понятно.

#55 Kosjak76

Kosjak76
  • Модератор
  • 3 857 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 18.05.2017 - 10:27

{if $product->variants|count > 0} - это проверка на наличие товара. Т.е. если есть хоть один вариант товар считается в наличии?
Можно подробней про эту логику?

При выборке вариантов товара используется фильтр in_stock - т.е. выводятся только варианты, которые ЕСТЬ в наличии.

Естественно, в шаблоне проверка - если есть хотя бы один вариант - товар есть в наличии.



#56 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 18.05.2017 - 10:57

При выборке вариантов товара используется фильтр in_stock - т.е. выводятся только варианты, которые ЕСТЬ в наличии.

Ага, понял - это в ProductView. Спсасибо
 

Подробнее больше некуда, и так все прозрачно понятно.

Человеку знающему движок в доль и поперек может и элементарно. Я же поинтересовался про логику такого поведения. После ответа Kosjak76 стало понятно.

На css класс variants у формы  в product.tpl что нибудь завязано важное? И вообще практикуется ли в движке привязка скриптов к css классам?



#57 Kosjak76

Kosjak76
  • Модератор
  • 3 857 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 18.05.2017 - 10:59

Все скрипты привязываются исключительно в шаблоне.

В дефолтном шаблоне на variants привязана аякс-корзина



#58 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 18.05.2017 - 11:14

В дефолтном шаблоне на variants привязана аякс-корзина

Она в index.tpl только подключается насколько я нашел



#59 Kosjak76

Kosjak76
  • Модератор
  • 3 857 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 18.05.2017 - 11:19

И что?

То, что подключается в index.tpl - выводится на ВСЕХ страницах сайта

index.tpl - это обертка, в которую вставляются все остальные шаблоны.



#60 pepelxD

pepelxD
  • Пользователь
  • 42 сообщений
  • Верстка, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 18.05.2017 - 11:26

И что?

То, что подключается в index.tpl - выводится на ВСЕХ страницах сайта

index.tpl - это обертка, в которую вставляются все остальные шаблоны.

Да не, не так понял меня, я имел ввиду для отключения этого скрипта достаточно отключить его там.
Пишу централизованный обработчик для "продукта" в виде конструктора, соответственно удаляю все куски кода связанные с ним в разных местах.






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых