Генериране на изображения в PrestaShop (PrestaShop)

Има безплатен двигател за онлайн магазини, наречена PrestaShop. Има много различни функции, но има неща, които просто vybeshivaet. Например, възстановяване на снимки. Факт е, че в зависимост от шаблона PrestaShop може да генерира на базата на оригиналното изображение на няколко копия. По този начин, ако стоките, които харесвате 10 000 и всеки има 3-5 снимки, оригиналните изображения е 50k и PrestaShop могат да направят на базата на техните по-6 копия на различни размери в зависимост от шаблона.

Определяне на проблеми с генерирането на изображения в PrestaShop

Да започнем с това, като механизъм за получаване на допълнителни изображения в PrestaShop. Първата грешка, че по време на пълненето на магазина на PrestaShop е, че първоначално не участват в проектирането и модел "ка съм зареден докато стоката и след като шаблон, за да направи нещо." Защо това е грешка?

Факт е обаче, че когато добавите стоката в двигателя PrestaShop автоматично създава отделна картинка за всяка папка в директорията IMG / P / които са всички варианти на размера на изображението. Какво се случва след това?

Трябва да кажа, че могат да възникнат проблеми с възстановяването на снимки, ако имате в магазина много продукти, като повече от 500-1000, както и вие нямате достъп за промяна на параметрите на срока на изпълнение на скрипта в php.ini. На споделен хостинг този параметър се задава обикновено в рамките на 30 секунди, което е, скрипт за генериране на образи се провежда в продължение на 30 секунди и да лети с грешка. Но дори и на VPS и VDS го хостинг е много трудно да се постигне нормално възстановяване на снимки като скриптове се появяват с ниски грешки в паметта, или по време на работа.

PrestaShop е много взискателна ССФ, която изпраща на сървъра "планински" заявки, в допълнение към активно с твърдия диск, така СПОДЕЛЕНО не препоръчваме да го инсталирате, проблемите са предсказуеми.

Така че, ние се обръщаме към проблема: Изтеглете на магазините 18000 продуктите, всеки продукт се придружава от 3-7 снимки. Резултатът е около 110 000 оригинални фотографии. При зареждане, и това продължило дълго време, аз трябваше да се раздели на файлове на няколко части внос от 500 продукти. PrestaShop (1.5.5.0) самостоятелно създаден за оригиналното изображение се състои от 6 копия на различни размери, което е, сега съм окачват на хостинг около 660 000 изображения. Всичко е добре, но след това реших да се промени от стандартен формуляр за закупени. След това започнаха проблемите ...

опции за персонализиране на изображението. Използване на шаблона. Оптимизация.

Ето един важен съвет, който ще спестите място на хостинг и да се намали натоварването на сървъра: Преди да натовари стоката, изберете шаблона, който се използва минимален набор от възможности за изображения. Какво означава това?

Всеки шаблон е написана за PrestaShop използва различна версия на изображението. Какво конкретно изображение се използва най-добре е да погледнете в ръководството на шаблона. Целият списък с изображения, които се нуждаят от вашия шаблон трябва да бъдат посочени в магазина за конфигурация. Ето един пример как образът разположен в моя шаблон. Това е, за да се намали натоварването на сървъра.

Генериране на изображения в PrestaShop (PrestaShop)
опции за персонализиране на изображения

Както можете да видите, всеки на оригиналното изображение, за да бъде генериран 8 снимки с различни размери. Излишъкът е просто ужасяващо. Ето защо, веднага да избере образци, които използват минимален брой различни варианти на снимките, например medium_default, large_default и small_default. Това ще спести използването на пространството на хостинг. В моя случай, че е твърде късно да се оттеглят.

Между другото в Presto за регенериране на всички снимки, които трябва да натиснете един бутон :) Това е може би една шега от разработчиците на този сценарий, тъй като тя е безполезна бутони не съм виждал. И всичко това, защото някои случаи при изпълнение на резултатите от регенерация при грешка, разбира се, само ако не е нужно стоките 5-10. Защо разработчиците е асинхронен регенерация използване Аякс остава загадка. За 50 евро можете да си купите подозрителен щепсел по своя собствена интернет страница. Но това е нарушаване на работата с графики на хостинга, където процесорни ресурси са ограничени.

Генериране на изображения в PrestaShop (PrestaShop)
изображения за възстановяване на бутон в PrestaShop

Решаването на проблема в няколко стъпки

Започнете да реши проблемите с възстановяването на изображението. Аз ще кажа едно нещо, за да го направя на хостинга ще бъде наред, защото сървърът ще падне мъртъв в следите си, така че всички операции с генерирането на изображението ще се извършва на процесора i7 нашия локален компютър.

Изпуска снимки с хостинг

Всички снимки които не се нуждаем, само за да получи достатъчно оригиналите. Като цяло, всички изображения на продукти PrestaShop магазина в папка / IMG / P / на всеки образ в отделна папка. За да започнете, се премахнат всички създадена система за изображение (различни от оригинала), това е всичко, което се намира "-" защото оригиналните имена са определени като "1234.jpg" (само цифри) Промяна не може да бъде, защото те са тясно свързани със стоките в основата.

1. За бързо отстраняване на допълнително изображение, което е, че тези опции не ни отговарят, ние се свързват чрез SSH и с помощта на командата:

2 цифри показват степента на сгъстяване от 1 до 9, по-малките по-бързо ще файл, но размерът ще бъде по-голям. В -r означава rekursivyny байпас всички директории и файлове.

Така че сега ние сме се появи на хостинг архивния файл, който искате да изпуснете. Направете това, например чрез използване на Filezilla, въпреки че има кой такова ... Разопаковайте архива със снимки и подготовка за партида преоразмеряване.

Преоразмеряване на снимки за PrestaShop

Тук popatet и трябваше да избере най-добрия и най-бързо resayzer. Първо аз се опитвам IrfanView, тогава FarStone Image Viewer. Тези програми могат да бъдат използвани, за да конвертирате партида и да преименувате операция, но както се оказа, че не са много приятелски и бавен. В допълнение, последният генерирано изображение изкривено изображение, а в някои случаи, изображението изчезна напълно.

Изготвяне на програма за пакетно преобразуване. За съжаление аз не намери начин да се направи по един пас само осем различни версии на изображението с различни имена. Аз трябваше да тичам преобразувателя осем пъти. Но във всеки случай е по-добре от един месец, за да генерира изображението на хостинга. Времето, прекарано с едно минаване на от 30 до 60 минути и е 110,000 изображения. Това не е лошо.

Не бързайте веднага да добавите цялата папка със снимки, опитайте по някакъв малък каталог.
1. Добавя се малко каталог с изображения, които трябва да конвертирате и преоразмерява.

Генериране на изображения в PrestaShop (PrestaShop)
Добавяне на папка на изпитание

2. Настройване на превръщане на групата последователности

Генериране на изображения в PrestaShop (PrestaShop)
Добавяне на папка, за да се тества

Генериране на изображения в PrestaShop (PrestaShop)
Промяна на размера на платното
Генериране на изображения в PrestaShop (PrestaShop)
Премахване на мета данните на изображението

3. Настройте опциите за запазване на изображения

Генериране на изображения в PrestaShop (PrestaShop)
Създаване на изходните параметри

Нови снимки трябва да се съхраняват в същата папка като оригинала. Името е леко модифициране на изображението в съответствие с настройките в PrestaShop.

Започнете превръщането и повторете операцията толкова пъти, колкото можете изображения опции трябва да са на хостинга. Аз трябваше да тичам осем пъти, като резултатът е 880 000 файла. Не забравяйте да промените размера на изображения в съответствие с настройките на PrestaShop (настройки трябва - магазин изображения в администратор).

Преди да се пристъпи към изтриване на архивното копие от оригиналния местните изображения директория, така че файлът ще получите по-малко и е по-лесно да разопаковате. Тя може да се използва за тази общо командир, което е много удобно да търсите файлове с помощта на регулярни изрази:

След това се показва намерените файлове в Total Commander панел и да ги изтриете. В папката, ние ще бъдем само необходимите файлове, генерирани изображения. Архивирането директория.

Заредете генерираното изображение обратно към хостинга, разопаковането

Сега имаме файл с всички необходими снимки и сега сме най-важното да има достатъчно място на хостинга за архивния файл и извличане на съдържанието. Веднага мисля за това колко ще ви отведе в папка с изображения.

1. Напълнете файла на съответното място, така че след разопаковане файловете са подходящи директории. Използвайте, за да се декомпресира SSH и Linux команди (или каквото и вашите хостинг разходи)

Това беше много отдавна, но си спомням как всеки вариант се поставя в своя собствена папка, има един модел, като една голяма картина в папка 1, малко по-малко, отколкото в папката 2, просто трябва да се види в коя папка, на които!

Двигателят генерира пътя въз основа на цифровата името на изображението, razbivayaego на отделни цифри, например, ако името на главния път изображение ще 12345.jpg IMG / р / 1/2/3/4/5 / 12345.jpg