Forums / National / Russian / Сборка «Фриланс-биржа» / Подгрузить файл шаблона .tpl

Dayver
#44662 2020-04-28 10:18
#44661 Lipnitsky:

Думаю с самого начала можно по другому

Конечно можно задачу решить по всякому но

#44661 Lipnitsky:

- если есть какие то проблемы с обязательным полем сделать его обязательным в тпл через js 

делать так я бы не советовал в целях безопасности .... я конечно же не знаю о насколько критичном поле идет речь ... но перестарховываясь и думая что поле важное - проверки с его заполненостью или валидностью введенных данных делать всегда нужно на стороне сервера(пхп), а не клиента(js) в его браузере ... а то делая все тяп-ляп можно нарватся на ситуацию ... а потом еще и репутация движка страдает - хотя на самом деле движок не причастен к образованию таких дыр в безопасности.

Добавлено 2 минуты спустя:

#44658 ed.moriarti:

Допустим если все поля для заполнения в folio.add.tpl  и в folio.add.second.tpl одинаковые, но в folio.add.second.tpl есть одно дополнительное экстраполе, которого нет в folio.add.tpl и это экстраполе обязательно для заполнения!

Однако, допустим, что пользователь не заполнил это экстраполе и нажал кнопку добавить. Следовательно должна вылететь ошибка что нужно дозаполнить экстраполе, но в этом случае редиректит на страницу folio.add.tpl

Вопрос: как сделать так чтоб в случае ошибки редиректило именно на тот шаблон который заполнялся юзверем?

Тут стоит две задачи:

  1.  Настроить редирект по верному урлу и это не сложно.
  2. Учитывать для каждого типа добавления свой необходимый набор обязательных полей. Ведь создав экстраполе и указав его необходимым к заполнению оно становится таковым для всех типов страниц добавления, а значит нужно доработать это, но это уже сложнее чем задача 1

Добавлено 1 минуту спустя:

Решение для первой таково:

Строку которую я советовал выше

$type = cot_import('type', 'G', 'ALP');

перенести в начало файла modules\folio\inc\folio.add.php а потом кусок кода

else
	{
		cot_redirect(cot_url('folio', 'm=add&c='.$c, '', true));
	}

заменить на

	else
	{
		cot_redirect(cot_url('folio', 'm=add&c='.$c.($type ? '&type='.$type : ''), '', true));
	}

Для второй задачи действия постараюсь написать чуть позже как будет свободное время

Pavlo Tkachenko aka Dayver
This post was edited by Dayver (2020-04-28 10:50, 4 years ago)