Как я могу вызвать определенную функцию в моем контроллере
Я пытаюсь создать модуль.
На моей приборной панели у меня есть таблица со всеми моими элементами в моей базе данных,но я не знаю, как я могу установить функцию, присутствующую в моем контроллере в моем шаблоне smarty.
Пример моей функции в моем AdminController и кто расширяет ModuleAdminController
public function deleteAction($id)
{
//here my logic
}
В smarty как я могу установить ссылку для перенаправления на мою функцию?
<a href="/* HERE WHAT CAN I SET ? */">Delete</a>
У вопроса есть решение - Посмотреть?

Ни у кого нет идеи ?
Источник

Можете ли вы разместить свой контроллер администратора и dbclass (objectModel extended) вашего модуля?
Источник

Я не создал dbclass. Как вы думаете, я могу использовать entity manager для гидратации их ?
Источник

Вы должны следовать стандартам тема. Если вы используете "помощник" на adminController и создаете objectModel для своей таблицы, то PrestaShop выполняет операции удаления и добавления без каких-либо дополнительных кодов.
Источник

Спасибо за эту информацию
Источник
Ответы - Как я могу вызвать определенную функцию в моем контроллере / How can I call a specific function in my controller
Является ответом!

29.10.2018 09:45:31
Попробуйте установить свой метод с общедоступной статической областью видимости, а затем вызвать его из tpl. Что-то вроде
public static function deleteAction($id)
{
//do semething here
}
а потом вызвать его из ТПЛ типа
<a href="{YourClassName::deleteAction('id_here')}">Delete</a>
Но имейте в виду, что он будет работать только из связанных tpl, но не везде

Спасибо, я попробую завтра и вернусь, чтобы дать ответ

Для моего теста я установил свою функцию с помощью just echo "это тест с id + $id"; когда я навожу свою ссылку, я вижу в нижнем url-адресе свое предложение. Но когда я нажимаю, ничего не происходит. Просто перезагрузка, чтобы перейти к приборной панели

Вам нужно передать некоторый URL-адрес вместо того текста, который вы ввели в свой метод. Но я понятия не имею, какой URL вы пытаетесь получить.

я прочитал "href=" {AdminShowPartnersController:: testAction ('1')} ""и моя функция должна сказать : "echo" вы находитесь в контроллере с идентификатором: + $id ";"

Если вы хотите получить какой-либо результат на вашем интерфейсе, вам нужно использовать оператор return в своем методе. Что ты теперь получишь?

С возвращением все то же самое... Это перенаправляет меня на приборную панель, но ничего не появляется :/

Я не могу понять, что вы получаете в результате в вашем методе. Что вы получаете в своем параметре "href"? Вы получили ответное сообщение?

Нет, у меня нет ответного сообщения. Когда я навожу свою ссылку, я вижу содержимое моего возврата в нижнем url-адресе. Но когда я нажимаю. Ничего не происходит. Просто перенаправить на мою панель управления.

Что значит "нижний URL"? Можете ли вы проверить свой HTML и проверить параметр "href" вашей ссылки? Могу поспорить, что у тебя там есть ответное сообщение. И это означает, что ваша функция работает правильно. Но если вы хотите получить какой-то URL вместо вашего примера кода, вам нужно определить его и вернуть в результате.

да у меня есть мой результат в href
<a style="margin-right:5px" class="btn btn-danger" href="l'id c'est +1">Delete</a>

Итак, я думаю, что ваш вопрос был решен?

Да, спасибо, как я могу установить эту тему в "solved"?

Вы можете оценить ответ, нажав на верхнюю стрелку и принять, нажав кнопку, связанную с ним где-то после вашего вопроса(не помню, где именно)
Помочь в развитии проекта: