Ограничить пользователя для прямого редактирования записи, изменив значение ID в URL-адресе.?

На самом деле, я создаю компонент, в котором я сталкиваюсь с проблемой, чтобы ограничить пользователя бэкэнда прямым редактированием записи.

Я знаю Когда мы редактируем запись в joomla с помощью функции «controller.edit», она использует функцию HoldEditId () для хранения текущего идентификатора в userstate, переданного с использованием url

Я использую значение, хранящееся с помощью функции HoldEditId () в модели, чтобы проверить, идентичен ли идентификатор URL-адреса в переменной UserState для загрузки правильных данных записи.

Но HoldEditId не только удерживает текущее значение, но и удерживает последний отредактированный идентификатор записи, теперь проблема заключается в том, как я могу узнать, который в настоящее время хранится id и который последний раз вставлен id

, поэтому решение состоит в том, чтобы удалить старые значения, используя функцию holdeditid, когда пользователь нажимает кнопку закрытия или отмены, но как я могу это сделать, и если это правильно или я делаю очень неправильно, есть еще один простой способ .?

2 голоса | спросил Sumer Raj Chouhan 11 Maypm15 2015, 13:34:31

1 ответ


1

Вот как вы должны загрузить свой текущий идентификатор записи из состояния в классе модели.

$pk = (!empty($pk)) ? $pk : (int) $this->getState($this->getName() . '.id');

Если вы хотите получить последнее отредактированное значение в своей функции holdEditId, вы можете использовать:

$recordId = array_pop($values)

Но в идеале вам не нужно вообще переопределять функцию holdEditId. Вам необходимо передать идентификатор в своем URL-адресе, чтобы он автоматически заселялся в вашей модели.

Это происходит в функции populateState вашей модели, если она расширяет JModelAdmin. Вы можете переопределить функцию populateState в своей модели, чтобы заполнить другие переменные, если вам нужно.

ответил Nagarjun 12 Mayam15 2015, 06:18:28

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132