Теперь встает вопрос, как добавить счетчик яндекса, в админную часть?
76 13.01.2017 12:56:43
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
77 13.01.2017 11:13:44
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
Вот так теперь работает спасибо!
Только при добавлении onclick, нужно еще добавить и 'class' => 'button', что бы кнопка отображалась
$button->setAttr(array(
'class' => 'button',
'onclick' => 'yaCounterXXXXXXX.reachGoal(\'ORDER\'); return true;'
));
Только у меня остался один небольшой вопрос,
Верно ли я сделал что добавил перед одинарными кавычками \ или нет?
78 12.01.2017 12:09:46
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
Вы меня немного не поняли. Вот мои действия.
1. Вставляю
var_dump($crud_collection);
exit();
Сразу после, да и в разных местах пробовал
public static function controllerExecCatalogOneClickCtrlIndex(\RS\Controller\Admin\Helper\CrudCollection $crud_collection)
{
2. Сбрасываю кеш, обновляю страницу
3. Нажимаю на заказ в блоке "Покупки в 1 клик"
4. Всплывает окно с данными заказа - var_dump нигде нет
5. Создю заказ - var_dump снова нигде не выводится
79 12.01.2017 09:31:18
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
Подскажите ,что должен вывестить var_dump, потому что ничего нигде не видно
80 11.01.2017 16:44:13
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
admin, Как проверить вызывается обработчик или нет?
81 11.01.2017 15:17:46
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
Кеш почищен, но модуль не срабатывает.
82 09.01.2017 12:07:41
Re: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
Закусило Александр, Созданные админом отслеживать
83 09.01.2017 12:01:51
Re: Убрать товар из корзины и запрет оформления если он выключен [Решено] (37 ответов, оставленных в Вопросы по разработке модулей и API системы)
Появился следующий косяк, подскажите как решить?
1. Пользователь делает заказ
2. Заказ подтверждается
3. Позицию которая есть в совершенном заказе, выключаем
4. Потом мы хотим например, поменять цену доставки в заказе или изменить размер товарной позиции, но это не срабатывает, и выдается ошибка, потому что одна из товарных позиций выключена.
84 09.01.2017 10:35:44
Тема: Настройка целей в Яндекс.Метрике (23 ответов, оставленных в Вопросы по работе с системой)
85 28.12.2016 12:01:08
Тема: Перегрузка модуля Магазин [Решено] (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Здравствуйте. Скажите, каким образом можно вносить изменения в файл orderctrl.inc.php. А именно мне нужно внести изменения вот в эту строчку. В ней мне нужно поле totalcost поменять на созданное мною.
new Filter\Type\Text('totalcost', t('Сумма'), array('showtype' => true))
Решение:
modules/config/file.inc.php
<?php
namespace Modules\Config;
use \RS\Orm\Type;
class File extends \RS\Orm\ConfigObject
{
}
modules/config/handlers.inc.php
<?php
namespace Modules\Config;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this
->bind('controller.exec.shop-admin-orderctrl.index');
}
/**
* @param \RS\Controller\Admin\Helper\CrudCollection $controller - объект CRUD контроллера
*/
public static function controllerExecShopAdminOrderctrlIndex($controller)
{
/**
* @var $filter RS\Html\Filter\Control
*/
$filter = $controller['filter'];
$lines = $filter->getContainer()->getLines();
$lines[0]->addItem(new \RS\Html\Filter\Type\Text('new_cost', t('Сумма'), array('showtype' => true)));
}
}
modules/config/module.xml
<?xml version="1.0" encoding="utf-8"?>
<config>
<defaultValues>
<name multilanguage="true">Изменение в модуле магазин</name>
<description multilanguage="true">Изменяет поле поиска в модуле магазин</description>
<version>1.0.0.0</version>
<author>My mod</author>
</defaultValues>
</config>
86 28.12.2016 10:27:26
Re: Сделать необязательные поля при регистрации [Решено] (14 ответов, оставленных в Вопросы по работе с системой)
Владимир 1916,
modules/userscustom/config/file.inc.php
<?php
namespace Userscustom\Config;
use \RS\Orm\Type;
class File extends \RS\Orm\ConfigObject
{
}
modules/userscustom/config/handlers.inc.php
<?php
namespace Userscustom\Config;
use \RS\Orm\Type as OrmType;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this->bind('orm.init.users-user');
}
public static function ormInitUsersUser (\Users\Model\Orm\User $user)
{
$user['__surname']->removeAllCheckers();
}
}
modules/userscustom/config/module.xml
<?xml version="1.0" encoding="utf-8"?>
<config>
<defaultValues>
<name multilanguage="true">Модернизация модуля users</name>
<description multilanguage="true">Модуль делает необязательным поле Фамилия при регистрации</description>
<version>1.0.0.0</version>
<author>My mod</author>
</defaultValues>
</config>
87 28.12.2016 10:24:34
Re: Сделать необязательные поля при регистрации [Решено] (14 ответов, оставленных в Вопросы по работе с системой)
admin, Да спасибо, пропустил одну букву в namespace
88 15.12.2016 12:42:20
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Вынес вот это за пределы цикла
$user_ids = array();
foreach($itemslist as $order){
if (!in_array($order['user_id'], $user_ids)){ //Проверим если, ли уже в массиве такой id
$user_ids[] = $order['user_id'];
}
}
$addreses_by_users = \RS\Orm\Request::make()
->from(new \Shop\Model\Orm\Address())
->whereIn('user_id', $user_ids)
->objects(null, 'user_id', true);
foreach($orders_data as &$order){
$order['addresses'] = $addreses_by_users[$order['user_id']];
}
после всего этого вставляю var_dump($user_ids); получаю array(0) { } и var_dump($itemslist); получаю array(0) { }
89 15.12.2016 11:51:51
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Вы забыли &
По прежнему выводит один адресс.
И судя по Вашему коду у Вас как частичное получение заказов, так и остальные данные заключены в цикл, который догружает данные. А в цикле должен быть только код получающий заказы, а уже далее должно происходить и подгрузка пользователей и адресов.
если я выношу код, за пределы цикла, то получаю ошибку
Исключение - "SELECT * FROM `readylocal`.`tzte_order_address` WHERE `user_id` IN ()You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1"
$user_ids = array();
foreach($itemslist as $order){
if (!in_array($order['user_id'], $user_ids)){ //Проверим если, ли уже в массиве такой id
$user_ids[] = $order['user_id'];
}
}
$addreses_by_users = \RS\Orm\Request::make()
->from(new \Shop\Model\Orm\Address())
->whereIn('user_id', $user_ids)
->objects(null, 'user_id', true);
foreach($orders_data as &$order){
$order['addresses'] = $addreses_by_users[$order['user_id']];
}
var_dump($addreses_by_users[$order['user_id']]);
90 15.12.2016 11:26:40
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Вы меня не поняли немного. Там два заказа от разных пользователей, получается и адресов должно быть выведено, от каждого заказа свой адрес (т.е. 2 разных), а выводит только 1
Вот так это все выглядит
foreach($itemslist as $order){
/**
* @var \Shop\Model\Orm\Order $order
*/
//Здесь записываем сведения в какой нибудь промежуточный массив Например $order_data и плюсуем его в $orders_data
$order_data = array(
'order_num' => $order['order_num'],
'new_cost' => $order['new_cost'],
'userfields' => $order['userfields_arr'],
'user_phone' => $order['user_phone'],
'user_fio' => $order['user_fio'],
'id' => $order['id'],
'user_id' => $order['user_id'],
'phone' => $order['phone'],
'name' => $order['name'],
//и т.д.
);
$orders_data[] = $order_data;
}
$i++;
$offset += $limit;
$user_ids = array();
foreach($itemslist as $order){
if (!in_array($order['user_id'], $user_ids)){ //Проверим если, ли уже в массиве такой id
$user_ids[] = $order['user_id'];
}
}
$addreses_by_users = \RS\Orm\Request::make()
->from(new \Shop\Model\Orm\Address())
->whereIn('user_id', $user_ids)
->objects(null, 'user_id', true);
foreach($orders_data as $order){
$order['addresses'] = $addreses_by_users[$order['user_id']];
}
91 15.12.2016 11:13:35
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Но так мы получим только один адрес?
92 14.12.2016 16:24:41
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Дак это все сделано же уже, как состыковать то их. Снова дуаеощшт делать?
93 14.12.2016 15:04:58
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
вот это сделал, я выше не то указал.
Вто адреса получил, дальше то как их состыковать?
string(11) "-2147483648"
string(10) "-698880924"
string(4) "1156"
string(4) "2022"
string(4) "1130"
string(4) "1373"
string(4) "1741"
string(11) "-1327942436"
string(11) "-1007174388"
string(11) "-2097266773"
string(4) "1337"
string(4) "1776"
string(10) "-690740807"
string(11) "-1510144173"
94 14.12.2016 14:35:37
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Далее в получившемся массиве адресов пройтись по нему и собрать для заказов.
верно?
95 14.12.2016 12:41:47
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
а это, как использовать это дальше?
var_dump($user_ids);
array(14) {
[0]=>
string(11) "-2147483648"
[1]=>
string(10) "-698880924"
[2]=>
string(4) "1156"
[3]=>
string(4) "2022"
[4]=>
string(4) "1130"
[5]=>
string(4) "1373"
[6]=>
string(4) "1741"
[7]=>
string(11) "-1327942436"
[8]=>
string(11) "-1007174388"
[9]=>
string(11) "-2097266773"
[10]=>
string(4) "1337"
[11]=>
string(4) "1776"
[12]=>
string(10) "-690740807"
[13]=>
string(11) "-1510144173"
}
96 14.12.2016 09:42:49
Re: Сделать необязательные поля при регистрации [Решено] (14 ответов, оставленных в Вопросы по работе с системой)
Данный пример не работает
97 13.12.2016 17:33:17
Re: Выводит только 50 записей (50 ответов, оставленных в Вопросы по разработке модулей и API системы)
Скажите мне вот из этого массива, нужно получить массив с id нужных пользователей?
foreach($itemslist as $order){
/**
* @var \Shop\Model\Orm\Order $order
*/
//Здесь записываем сведения в какой нибудь промежуточный массив Например $order_data и плюсуем его в $orders_data
$order_data = array(
'order_num' => $order['order_num'],
'new_cost' => $order['new_cost'],
'userfields' => $order['userfields_arr'],
'user_phone' => $order['user_phone'],
'user_fio' => $order['user_fio'],
'id' => $order['id'],
'user_id' => $order['user_id'],
'phone' => $order['phone'],
'name' => $order['name'],
//и т.д.
);
$orders_data[] = $order_data;
}
98 13.12.2016 09:59:15
Re: Сделать необязательные поля при регистрации [Решено] (14 ответов, оставленных в Вопросы по работе с системой)
Скажите, почему не подцепляет созданный хук?По прежнему поле фамилия остается обязательным.
Созднный модуль и модуль "Пользователи" переустанавливал, "Исправить структуру БД" тоже делал
<?php
namespace Userscustoms\Config;
use \RS\Orm\Type as OrmType;
class Handlers extends \RS\Event\HandlerAbstract
{
function init()
{
$this->bind('orm.init.users-user');
}
public static function ormInitUsersUser (\Users\Model\Orm\User $user)
{
$user->getPropertyIterator()->append(array(
t('Основные'),
'surname' => new Type\Varchar(array(
'maxLength' => '100',
'description' => t('Фамилия'),
)),
));
}
}
99 09.12.2016 17:36:23
Re: Вывод сохраненных адресов пользователя [Решено] (4 ответов, оставленных в Вопросы по работе с системой)
Закусило Александр, То что нужно, спасибо!
100 09.12.2016 10:43:45
Re: Вывод сохраненных адресов пользователя [Решено] (4 ответов, оставленных в Вопросы по работе с системой)
checked ставиться на адрес с первым id, а хотелось бы переделать, что бы checked ставил на последний id, я могу это поправить в шаблоне?
Использовать следующие данные:
<table id="address-list">
{if $current_user->inGroup('supervisor')}
{$address_list = array_reverse($address_list)}
{foreach from=$address_list item=address}
<tr class="addressItem">
<td><input type="radio" name="use_addr" value="{$address.id}" id="adr_{$address.id}" {if $order.use_addr == $address.id}checked{/if}></td>
<td><label for="adr_{$address.id}">{$address->getLineView()}</label>
<a href="{$router->getUrl('shop-front-checkout', ['Act' =>'deleteAddress', 'id' => $address.id])}" class="deleteAddress"/>×</a>
</td>
</tr>
{/foreach}
{/if}
<tr class="addressItem">
<td><input type="radio" name="use_addr" value="0" id="use_addr_new" {if $order.use_addr == 0}checked{/if}></td>
<td><label for="use_addr_new">Другие данные</label></td>
</tr>
</table>