Joomla форма 3 обратна връзка - добавя способността да прикачите файл
Наскоро един от посетителите на сайта ми ми предложи да се разшири функционалността на формата за обратна връзка: добавите възможността за прикачване на файлове към съобщението, което се изпраща след като попълните формата. Файлове изпратени чрез формата трябва да бъде графичен формат. Така посетителите ще могат да се прикрепят към публикацията си всяка снимка.
Интересувам се от това предложение, и малко размисъл, аз отидох на работа. В действителност, възможността за разширяване на Joomla com_contact компонент е лесно. Въпреки това, има един "лош" момент: Ако направите промени в съставните файлове, актуализиране на нея повече отколкото би било невъзможно, защото, когато обновите всичките ви промени ще бъдат загубени.
Можете да опитате да се клонира компонента. Но тъй като тя е вградена в системата, за да се направи, че не е толкова просто - има много различни зависимости, така че да работи копие com_contact компонент не съм се обърна. В резултат на това решение се оказа че не е съвършен, но тя работи :).
Още в края на работата, която "препъна" на една статия по документацията на сайт за Joomla. Той казва, че за разширяване на формата за обратна връзка (и другите компоненти на системата) трябва да се създаде добавка. По този начин не се променят файловете в компонентите на системата, а не губи възможността за актуализиране на CMS.
Въпреки това, статията не се посочва как да добавите логика (в този случай, проверка и изпращане на файл, заедно с други данни), без да променя съставните файлове.
Сега ще опиша целия процес на промяна на компонента за обратна връзка. Прекарах да добавите във формата на "файл" тип поле.
Така че първо ние правим малки промени в административната част на сайта:
► Променете езиковите файлове.
/administrator/language/ru-RU/ru-RU.com_contact.ini
Добавете следните редове:
В /administrator/language/en-EN/en-EN.com_contact.ini файл добавете една и съща линия, но тяхната стойност ще бъде фрази в английския език. По този начин предоставя многоезичен.
► Редактиране на файлове: (име раздел fieldset = "CONTACT_FORM") /administrator/components/com_contact/config.xml и /administrator/components/com_contact/models/form/contact.xml (раздел име fieldset = "електронна поща"), прибавен към двете подаде следния код:
В резултат на тези две дейности в административната част на сайта, за да Joomla com_contact функция страница. Вие ще бъдете в състояние да се включва и изключва показването на полето, за да добавите файлове във формата за обратна връзка.
Да припомним, че промяна в параметрите на администратор за контакт, те се съхраняват в база данни: Таблица __contact_details. полеви Поколения назад.
Сега да преминем към промените съставните файлове в публичната част.
► Сега com_contact шаблон компонент става добавена стойност достъпно параметър allow_images_attach. Преди да редактирате кода на шаблон, той трябва да бъде копиран в шаблона на сайта папка: /templates/imya_shablona/html/com_contact/contact/default_form.php
За да проверите, можете да поставите следния код в този файл.
Ако няма грешки, компонент на страницата в публичната част на сайта ще показва "1".
► След това добавете описание на полето, за да прикачите файл (снимки) в XML-файл с описание на полетата на формата в модела (/components/com_contact/models/forms/contact.xml).
► На езика файловете, които искате да добавите подпис (етикет) и описание (описание) за новото поле (/language/ru-RU/ru-RU.com_contact.ini):
В /language/en-EN/en-EN.com_contact.ini файл добавете една и съща линия, само текстът на английски език като стойността.
► Добави в шаблона на формуляра (/templates/imya_shablona/html/com_contact/contact/default_form.php) следния код:
След добавянето на този код на компонента за обратна връзка на страницата има поле, за да добавите файл.
За да се образува репетирали правилно, трябва да добавите маркера