<h2 id="Title" style="font-family: 'Times New Roman'; line-height: normal;">Empty module and/or action after parsing the URL "/?plugin=ajax&action=mail" (frontend/mail). Not found classes: shopFrontendMailController, shopFrontendMailAction, shopFrontendActions</h2>
причем
<h2 style="font-family: 'Times New Roman'; line-height: normal;">Call stack</h2>
Остается только вопрос что будет после обновления. Я так понимаю, все перезапишется. Стоит вынести все это в пользовательский helper? Можно ли его унаследовать от shopViewHelper.class.php или есть другой способ дергать его методы?
Это понятно. Вопрос был, где там формирование массива. Но уже сделал. Не уверен, что это допустимо, так что, уважаемые профи, скажите насколько правильным методом будет добавления следующего в shopViewHelper.class.php
Спасибо за время
в ответ на Помогите с плагином для обработки ajax
Удалил /wa-apps/site/plugins/ajax/lib/config/routing.php
Теперь норм
в ответ на Помогите с плагином для обработки ajax
Вот только ответ странный:
return array( 'ajax/' => 'frontend/mail', );{"status":"ok","data":{"hhh":"\u0436\u043e\u043f\u0430"}}в ответ на Помогите с плагином для обработки ajax
Залез в routing.php для site
добавил
<?php return array( ............. 'ajax/' => array( 'module' => 'frontend', 'plugin' => 'ajax', 'action' => 'mail', 'secure' => false, ), ...................... );работает
в ответ на Помогите с плагином для обработки ajax
extends -дубль убрал
кеш вычищен, debug mode включен
Все равно 404
Проверяю так (в шапке сайта)
$(function() { $.getJSON('/site/ajax/', function (json) { alert(json); }); $.getJSON('/ajax/', function (json) { alert(json); }); });может тут ошибка, но в консоле вижу что запрос идет и получает 404
в ответ на Помогите с плагином для обработки ajax
<?php return array( // обязательные параметры 'name' => 'ajax', 'description' => 'ajax', 'version' => '1.0', 'frontend' => true, );/wa-apps/site/plugins/ajax/lib/config/routing.php
return array( 'ajax/' => 'frontend/mail', );/wa-apps/site/plugins/ajax/lib/siteAjax.plugin.php
<?php class siteAjaxPlugin extends sitePlugin { public function method1($params) { } }/wa-apps/site/plugins/ajax/lib/actions/siteAjaxPluginFrontendMail.controller.php
<?php class siteAjaxPluginFrontendMailController extends extends waJsonController { public function execute() { $this->response = array( 'hhh' => 'жопа', ); } }
в ответ на Помогите с плагином для обработки ajax
domain.ru/ajax/ дает 404
domain.ru/site/ajax/ тоже 404
в ответ на Помогите с плагином для обработки ajax
7 кругов ада, что бы получить "hello world" по ajax
в ответ на Помогите с плагином для обработки ajax
получаю
<h2 id="Title" style="font-family: 'Times New Roman'; line-height: normal;">Empty module and/or action after parsing the URL "/?plugin=ajax&action=mail" (frontend/mail).Not found classes: shopFrontendMailController, shopFrontendMailAction, shopFrontendActions</h2>
причем
<h2 style="font-family: 'Times New Roman'; line-height: normal;">Call stack</h2>#0 /home/billyboy/domains/billy-boy.su/public_html/wa-system/controller/waFrontController.class.php(58): waFrontController->execute('', 'frontend', 'mail') #1 /home/billyboy/domains/billy-boy.su/public_html/wa-system/waSystem.class.php(586): waFrontController->dispatch() #2 /home/billyboy/domains/billy-boy.su/public_html/index.php(7): waSystem->dispatch()почему-то waFrontController->execute('', 'frontend', 'mail') - не правильно подключен plugin? Почему он передает пустые кавычки?
в ответ на Помогите с плагином для обработки ajax
А где должен быть routing.php для плагина?
в ответ на Помогите с плагином для обработки ajax
А если нет возможности поселить "Сайт" в корень сайта: domain/* - будет работать по domain/site/ajax ? И надо ли при этом править routing.php
Где должен находится routing.php плагина?
в ответ на Помогите с плагином для обработки ajax
В /wa-config/routing.php добавил:
5 => array ( 'url' => 'ajax/*', 'app' => 'site', 'plugin' => 'ajax', ),обращаюсь к домен.su/ajax теперь другая ошибка:
Empty module and/or action after parsing the URL "/ajax/" (frontend/). Not found classes: siteAjaxPluginFrontendController, siteAjaxPluginFrontendAction, siteAjaxPluginFrontendActions Error with code 404 in '/home/billyboy/domains/billy-boy.su/public_html/wa-system/controller/waFrontController.class.php' around line 189: 184 if ($action && $default) { 185 return $this->execute($plugin, $module); 186 } 187 188 // Too bad. 404. >>189 throw new waException(sprintf('Empty module and/or action after parsing the URL "%s" (%s/%s).<br />Not found classes: %s', $this->system->getConfig()->getCurrentUrl(), $module, $action,implode(', ',$class_names)), 404); 190 } 191 } 192 193 // EOFв ответ на Помогите с плагином для обработки ajax
переделал. Сделал siteAjaxPluginFrontendMail.controller.php вместо siteAjaxPluginFrontendMail.action.php
<?php class siteAjaxPluginFrontendMailController extends extends waJsonController { public function execute() { $this->response = array( 'hhh' => 'жопа', ); }С routing.php подскажите? Что в нем и где он?
в ответ на Помогите с плагином для обработки ajax
Вынес, но кеш не работает:
class shopCustom { public static function getProductList($set_id, $offset = null, $limit = null, $options = array()) { if ($cache = wa('shop')->getCache('default')){ $products = $cache->get('ProductList_'.$set_id, 'sets'); if ($products !== null) { return $products; } } $collection = new shopProductsCollection('set/'.$set_id, null); $products = $collection->getProducts('*,images', 0, null, true); if (!empty($cache)) { $cache->set('ProductList_'.$set_id, $products, 1200, 'sets'); } return $products; } }в ответ на Где формируется $wa->shop->productSet ?
Остается только вопрос что будет после обновления. Я так понимаю, все перезапишется. Стоит вынести все это в пользовательский helper? Можно ли его унаследовать от shopViewHelper.class.php или есть другой способ дергать его методы?
в ответ на Где формируется $wa->shop->productSet ?
Спасибо
в ответ на Где формируется $wa->shop->productSet ?
Это понятно. Вопрос был, где там формирование массива. Но уже сделал. Не уверен, что это допустимо, так что, уважаемые профи, скажите насколько правильным методом будет добавления следующего в shopViewHelper.class.php
public function productSetWithImg($set_id, $offset = null, $limit = null, $options = array()) { if (!$offset && !$limit && !$options && ($cache = $this->wa->getCache())) { $route = $this->getRoute(); $cache_key = 'set_'.$set_id.'_'.str_replace('/', '_', waRouting::clearUrl($route['domain'].'/'.$route['url'])); $products = $cache->get($cache_key, 'sets'); if ($products !== null) { return $products; } } $products = $this->products('set/'.$set_id, $offset, $limit, $options); foreach ($products as $key=>$one) { $products[$key]['images'] = []; $model = new shopProductImagesModel(); foreach($model->select('id','product_id','sort') ->where('product_id = '.(int)$one['id']) ->order('sort ASC') ->fetchAll() as $img){ $products[$key]['images'][] = $img['id']; } } if (!empty($cache)) { $cache->set($cache_key, $products, 1200, 'sets'); } return $products; }в ответ на Где формируется $wa->shop->productSet ?