1

Тема: PHP vs TPL

Доброго дня всім!

Маємо сайт. На сайті є feedback.tpl, на якому є форма з полями для заповнення. Дії після заповнення форми й натисканні кнопки "Відправити" виконуються в модулі \application\module\core.php. Для цього всередині у функції     _display_page_and_cat($page = array(), $category = array()) перевіряється, зокрема, умова count($_POST) > 0.
Тепер нам потрібно зробити ще один шаблон feedback, іншого типу.
Проблема в тому, що в новому шаблоні інші поля, а в _display_page_and_cat перевіряється заповнення полів за допомогою form_validator, і вказані там назви (й кількість) полів для feedback.tpl. Таким чином, у core.php нам необхідно розрізняти 2 випадки різних форм feedback.
Бачу, що для .tpl можна розрізняти сторінку виразом типу {if $page.id == nnnn || $page.lang_alias == nnnn}...{/if}. Чи можна подібно розрізняти сторінки в core.php?

Thumbs up 0 Thumbs down

2

Re: PHP vs TPL

Как решение, можно в tpl в форме передавать какой-то скрытый input с какимто параметром. И в core уже отлавливать и обрабатывать его отдельно.

Но я бы посоветовал использовать другой контроллер вообще. Написать что-то для работы с этой формой. Плохая практика использовать что-то одно для работы с разным.

https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

3

Re: PHP vs TPL

Вадим пишет:

Как решение, можно в tpl в форме передавать какой-то скрытый input с какимто параметром. И в core уже отлавливать и обрабатывать его отдельно.

Но я бы посоветовал использовать другой контроллер вообще. Написать что-то для работы с этой формой. Плохая практика использовать что-то одно для работы с разным.

Та я вже вирішив питання. До перевірки додав ще одну перевірку по page.id і відповідно задаю різні правила для валідатора. Виглядає то все страшненько, але працює, тому намагатимусь просто якнайменше чіпати. smile

Thumbs up Thumbs down