Добавяне на второ изображение за Prestashop категории
Файлово разширение AdminCategoriesController
Сега вземаме оригиналнияAdminCategoriesController намиращ се в /controllers/admin, отваряме, поставяме и копираме всичко с метода renderForm. Поставете това в нова замяна:
Добавяне на ново поле
На първо място, трябва да добавим код, който показва всички възможни изображения, които са били качени. За да направите това, намерете следното:
Веднага след това добавете:
Същото е, но със сменени имена. След това точно в долната част има списък с полета. Трябва да добавим въвеждане на файл тук, за да можем да качим изображението по-късно. Така намираме:
И веднага след това добавете следното:
Тук отново същия код, но различни имена. И накрая, променяме това:
Няма да споменаваме всеки път, че правим едно и също нещо. Направихме това с renderForm, сега ще се занимаваме сpostImage().
Управление на новото качено изображение и преместването му
Опитът за попълване на ново поле на този етап няма да даде нищо. Цялата магия за качване се случва с метод, нареченpostImage(), който ще заменим и разширим. По този начин го копираме от оригиналния AdminCategoriesController и го поставяме във файла за корекция (замяна). Ще изглежда така:
Сега вместо последния редreturn $ret;, добавете следното:
Обърнете внимание на този фрагмент:
Това е точно областта, където оригиналното изображение се изтрива, за да се освободи място за новото. Променяме го на:
Но това също все още не работи, докато класът Category не бъде предефиниран и методът deleteImage2 не бъде добавен. Преди да напуснете този файл, трябва да го разширитепоследната функцияpostProcess(). Копирайте го отново от оригиналния AdminCategoriesController. Ще изглежда така:
Трябва също да се погрижите за изтриването на вторичното изображение:
След като приключихме с този файл, нека преминем към разширяване на класа Category.
Замяна на класа на категория
Създайте нов файл в override/classes и го наименувайтеCategory.php (или използвайте съществуващия override, ако има такъв). На първо място, трябва да тестваме неговата функционалност в бек офиса, така че трябва да добавим следния метод deleteImage2():
Сега веднага след това:
Добавяне на нова дефиниция на изображението:
Така че приключихме с php.
Показване на ново изображение в шаблон
Ето ни на целта. Отворете category.tpl, който се намира в папката с теми. Настаняване:
Променяме го на:
Ако приятелските URL адреси не са забранени, това ще е достатъчно. Но какво ще стане, ако се използват пренаписани URL адреси? Уви, ще трябва да кодирате твърдо последната модификация във файла.htaccess. Това не е гарантирана защита, но по време на тестовете се оказа доста ефективна. Отворете.htaccess и добавете следното в самото начало, точно преди“#