Артур
все нашел)
SiZE
А нормальные вопросы когда будут?
Александр
нормальный вопрос!
Александр
есть несколько вопросов, но не по Yii
Artur
как в yii2 поставить дефолтный тайтл?
Toly
Дефолтный для всего проекта? Можно в основном шаблоне задать, например. $this->title = 'title'
Yuriy
как вариант - в конфигурации можно
Toly
Да, точно, это правильней решение
Toly
Я в своё время, помню, свой \yii\web\View сделал, для того, чтобы имя сайта подставлялось ко всем title
Artur
ага, точно. спасибо
Ilya 🃏
Никто не знает, нет ли адекватного способа проверить существование экшена у контроллера?)
Ilya 🃏
например в SiteController проверить, есть ли у UserController функция actionIndex?
SiZE
Что то типа
$controller = Yii::$app->createController();
method_exists();
Yuriy
http://stackoverflow.com/questions/29402775/check-if-an-arbitrary-controller-action-exist
Toly
Это не во всех случаях прокатит.
Ilya 🃏
Спасиб
Toly
Самый надёжный вариант -
$controller = Yii::$app->createControllerByID('controller');
if (!$controller) {
return false;
}
$action = $controller->createAction('action');
if (!$action) {
return false;
}
return true;
Ilya 🃏
Toly
Немного подправил
Toly
Ya
Привет.
Может кто-то знает:
Добавил на страницу стандартный виджет Tab. В нем два элемента, каждый отрисовываю через $this->render() ('content' => $this->render('_index_list')
каждый элемент это стандартный GridView, обернутый в Pjax.
на первом GridView Pjax работает(происк по полю, страница не перезагружается), на втором не работает(Pjax делает запрос, потом перезагружает страницу)
Артур
привет подскажите )
Артур
пли))
Артур
как отправить ajax
Артур
на контроллер ?)
Артур
точнее на экшен)
Артур
отправляю так
Артур
SiteController/priceall
Артур
public function actionPriceall(){
if(Yii::$app->request->isAjax){
$price = $data = Yii::$app->request->post();
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$client = new Client();
return [
'price' => $client->allPrice,
];
}
}
Артур
так ловлю
Артур
но в ответи not found
Yuriy
Артур
а как будет правильно ?
Yuriy
может просто /priceall может /site/priceall
Yuriy
зависит от конфигурации rules в UrlManager
Артур
так там просто прописаны ссылки
Артур
типа
Артур
'admin' => 'admin/admin'
Ilya 🃏
Народ, вы часто используете standalone actions?)
Ilya 🃏
Решил не городить велосипедов, сделал 2 namespace (frontend/actions/guest и frontend/actions/user) в actions() просто проверяю кто есть юзверь и отдаю массив с нужными экшенами
Ilya 🃏
мне кажется это гораздо лучше, чем делать транспортировку экшенов из других контроллеров через runAction
Ilya 🃏
единственный минус - под каждый экшен теперь отдельный файл
Ilya 🃏
радует, что хоть по разным путям достаются)
SiZE
Toly
Там ответ для Yii 1.1. В Yii2 будет выброшено исключение в случае отсутствия контроллера или экшена
Toly
Вру, исключения не будет, путаю с runAction. Можно через createController, да
Ilya 🃏
Хм, я тут самый умны, подключил standalone экшены, а про $this забыл. Как теперь рендерить-то вьюшки?))
SiZE
Мне просто этот вариант очень даже нравится )))
$controller = Yii::$app->createController('controller');//
if (!$controller !== null && $controller->hasMethod('action'))) {
echo 'controller/action is allow :)';
}
Toly
Toly
Yuriy
Ilya 🃏
Отлично, спасиб)
Toly
👌
🎅
Artur
Как и где прописать rules для urlManager из модуля?
Yuriy
Yuriy
https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/runtime-routing.md#Добавление-правил-url-динамически-
Artur
thnks )
Anonymous
Как получить доступ к messages через vk api?
Yuriy
Anonymous
Не то
Anonymous
у меня авторизация через yii\authclient\Collection
Anonymous
класс yii\authclient\clients\VKontakte
Anonymous
При добавлении в scope "messages", выходит "standalone applications should use blank.html as redirect_uri to access messages"
Anonymous
Редирект естественно на мой сайт идет, дабы авторизоваться
Toly
Читайте документацию. Приложения с типом авторизации как у вас не могут иметь доступ к сообщениям. Такой доступ имеют только клиентские приложения https://vk.com/dev/implicit_flow_user
who are you
здрасти )
Anonymous
всем ку
Anonymous
Привет
Artur
Такой вопрос есть.
Есть экшн, который получает некторые данные, и сохроняет модель (Comment). (в моем случае комментарий)
Дальше, в зависимости от коммента, юзера, и еще всяких разных зависимостей
должны выполняться другие действия (в моем случае это -
запись в базу события (Event) (зависит от юзера),
отправка уведомления на почту и телефон (Notification),
Списание бабок у юзера (Payment),
и еще несколько действий )
Собственно вопрос, как и куда, лучше всего, вынести этот кусок кода? Учитывая что его нужно вызывать из разных мест (Например подача коммента в вебе, подача через апи)
Artur
жесть короче
Artur
)
Тенпеннай
)
https://ru.wikipedia.org/wiki/Команда_(шаблон_проектирования)#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.BD.D0.B0_PHP5
Тенпеннай
ы?
Nurik
А теперь попробуй это притянуть к Yii чтобы это реально было удобно.
Toly
События в помощь
Nurik
SiZE
trntv