У меня есть модель Slider, имеющая несколько связанных изображений (моделей). При редактировании ползунка есть вкладка для его изображений. Теперь это можно изменить, чтобы выбрать и отменить выбор, содержащий изображения. Похоже, это делается через сетку администратора, имеющую столбец флажка (клавиша «значения» предназначена для тестирования):
$this->addColumn('in_slider', array(
'header_css_class' => 'a-center',
'type' => 'checkbox',
'name' => 'in_slider',
'values' => array(1,2),
'align' => 'center',
'index' => 'slider_image_id'
));
Допустим, к ползунку на изображении выше прикреплено одно изображение, и это прекрасно работает. Но когда пользователь выбирает «Любой» и нажимает «Поиск», все изображения должны отображаться, но те, которые не связаны, должны быть отменены. Я думаю, что это стандартное поведение для такой функции.
Чего я не понимаю, так это механизма за этими двумя кнопками: Reset Filter
и Search
. Из того, что мне удалось выяснить, класс сетки имеет метод getGridUrl()
, который используется для обновления данных сетки (через AJAX). Этот URL-адрес сопоставляется с контроллером.
// in grid class
public function getGridUrl()
{
return $this->getUrl('*/*/editGrid', array('_current' => true));
}
// Image controller
public function editGridAction()
{
$blockMarkup = $this->getLayout()->createBlock('module/someblock')->toHtml();
$this->getResponse()->setBody($blockMarkup);
}
А как насчет кнопки «Поиск»? Как это работает?
Как другие модули узнают, когда показывать ВСЕ объекты или выполнять поиск "Да" или "Нет"?
При сохранении ползунка, как можно получить выбранные значения? Работа в контроллере ползунка saveAction
Я полагаю, но как вы получаете значения флажка?