{$preview=strip_tags($item->getPreview())}
{$preview|truncate:"50"}1,676 30.06.2016 12:49:12
Re: превью статей (15 ответов, оставленных в Вопросы по работе с системой)
1,677 30.06.2016 12:46:25
Re: Описание категорий, подкатегорий и изображения к категориям. (6 ответов, оставленных в Вопросы по созданию тем оформления)
Как добавить изображения для подкатегорий?
Всё есть здесь http://forum.readyscript.ru/topic/177/
как описание категорий убрать в нижний уровень перед подвалом?
Какая у Вас тема оформления?
P.S. Руководство по темам оформления:
http://readyscript.ru/text-blog/Kak-soz … adyScript/
1,678 30.06.2016 12:40:11
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Можно же использовать функцию function beforeWrite($flag)
и подставить туда запрос на запись в новую бд?
И нужно создать еще один api?Тогда получается нужно создать еще папку orm и туда файл mydiscount.inc.php?Или можно поступить таким образом?но опять таки нужно папку orm и туда файл mydiscount.inc.php
И в переменных я наверное ошибся?$order = new \Newpage\Model\Orm\Mydiscount(); $order['order_id'] = $order_num; $res = $order->insert();
Вы молодец! Идёте в правильном направлении. Я просто говорил про то, что индекс Вам там такой не нужен. Т.к. можно просто использовать параметр у самого поля order_id при объявлении полей ORM объекта
'index' => true,1,679 29.06.2016 17:46:53
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Все создал, а теперь мне нужно вот это?
$this->addIndex(array('site_id', 'order_num'),self::INDEX_UNIQUE);
И что это? Куда вы индекс добавляете?
1,680 29.06.2016 17:12:44
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Купон грузится из корзины заказа где есть все orderitems. Т.е. сразу доступны все элементы. В Вашем случае, нужно получить формулу несколько по другому. У вас ведь не просмотр одного заказа.
1,681 29.06.2016 16:55:16
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Всё очень просто. Вы фильтруете по типу товар, а не по типу купон. У Вас идентификаторы купона и товара разные. Так и должно быть. JOIN по этому и не сходится.
Вам наверное надо создать ещё одну промежуточную таблицу с полями order_id и discount_id. И при сохранении заказа писать в неё связь для всего заказа. Тогда можно через 2 JOIN объеденить то что Вам нужно.
1,682 29.06.2016 16:28:00
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
В order_items у Вас есть entity_id, а в discount поле id.
1,683 29.06.2016 12:16:00
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
У вас таблица order_discount кикие имеет общие поля? Какие вообще поля Вас есть в обоих таблицах?
1,684 29.06.2016 12:05:34
Re: Блок контроллер - список фотографий (2 ответов, оставленных в Вопросы по созданию тем оформления)
Всё дело в оштбки блока. Она будет исправлена в ближайшем обновлении. Если не хотите ждать, то откройте файл /modules/photo/controller/block/photolist.inc.php и строку:
$link_id = isset($route->$param) ? $route->$param : 0;Меняете на:
$link_id = isset($route->$param) ? $route->$param : $param;1,685 29.06.2016 12:01:35
Re: превью статей (15 ответов, оставленных в Вопросы по работе с системой)
Спасибо. Разберёмся.
1,686 29.06.2016 11:59:39
Re: Удалить заказ и Удалить товар (13 ответов, оставленных в Вопросы по работе с системой)
Укажите код, который использовали для удаления товара.
1,687 29.06.2016 11:58:33
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Так у Вас же всё получилось?
\RS\Orm\Request строится по тем же правилам, что и обычные SQL запросы. Т.е. если Вы хотите подсоединить таблицу то можно использовать join, тогда у Вас появятся дополнительные колонки.
Обращение к основной таблице всегда с алиасом A.
Например:
$q = $this->api->queryObj();
$q->join(Ваша нужная к присоединению таблица, 'A.полеприсоединия=B.полеприсоединения', 'B') //INNER JOIN
->where(
//Моё нужное условие в уже объединённой таблице
);Если не знаете как составляется запрос join, то читайте документацию по MySQL:
http://phpclub.ru/mysql/doc/join.html
http://pionick.net/examples/mysql_join
и смотрите видео по запросам к БД в RS. Там тоже есть примеры с JOIN:
https://www.youtube.com/watch?v=n6ufZ2b … L4X2UTC6Aw
1,688 28.06.2016 17:55:08
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Теперь понял. Ну тогда сделайте ещё join у объекта запроса. В чем проблема?
У Вас же в $q объект.
1,689 28.06.2016 16:39:10
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Не совсем понял, что хотите сделать. Поясните подробнее
1,690 28.06.2016 13:47:28
Тема: Добавил видеоурок о Конструкторе сайта и работе в нём. (0 ответов, оставленных в Вопросы по работе с системой)
Видео рассказывает как пользоваться конструктором сайта для изменения тем оформления. Рассмотрены аспекты со стороны обычного пользователя. Приведено несколько рабочих примеров для работы в нём. Описан функционал, показаны возможности сеточного вывода блоков. И многое другое.
Видео получилось большим, но и функционала не мало описано, плюс примеры.
Само видео будет здесь:
https://www.youtube.com/watch?v=7HGRpFO … mp;index=9
или в нашем разделе с видеоуроками
1,691 28.06.2016 13:31:35
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Ну тут нужно не совсем то.
Вот эта конструкция:
function __construct()
{
parent::__construct(new \Users\Model\Api()); //Указываем API с которым будет возвращаться вывод
}Нужно указать здесь API для вывода информации. В Вашем случае, нужно обращение к таблице с элементами заказа, которая описывается в \Shop\Model\Orm\Orderitem. API которое с этими ORM объектами работает в данном случае не существует.
Поэтому Вы создёте у себя класс АПИ и указываете наследование от EntityList, и указать объект, с которым будет работать АПИ. Например:
class MyApi extends \RS\Module\AbstractModel\EntityList
{
function __construct()
{
parent::__construct(new \Shop\Model\Orm\OrderItem, //С какой таблицей через ORM объект работать
array(
'multisite' => false, //Объект является не мультисайтовым (без поля site_id)
'defaultOrder' => 'id DESC' //Сортировка по умолчанию при выборке
));
}
}Соответственно нужно будет указать своё API для работы CRUD контроллера.
В самом helperIndex можно уточнить запрос по умолчанию, расширив его запросом. В этом классе сам объект апи находится в $this->api. Мы можешь получить объект запроса \RS\ORM\Request через метод queryObj() . Ну например:
function helperIndex()
{
$helper = parent::helperIndex();
$q = $this->api->queryObj();
$q->where(
//Моё нужное условие
);А сами поля вывода, если Вы заметили описываются здесь:
$helper->setTable(new Table\Element(array(
'Columns' => array(
new TableType\Checkbox('id', array('showSelectAll' => true)),
new TableType\String('id', '№', array('ThAttr' => array('width' => '50'), 'Sortable' => SORTABLE_BOTH, 'CurrentSort' => SORTABLE_DESC)),
new TableType\String('login', t('Логин'), array('href' => $edit_pattern, 'Sortable' => SORTABLE_BOTH, 'linkAttr' => array('class' => 'crud-edit'))),
))));Поменяйте под себя.
1,692 28.06.2016 12:18:33
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Всё получится. Не бросайте идею. Вы постучитесь к нам. Я посмотрю, что Вы сделали и скажу, что не правильно. В предыдущем посте идёт полностью рабочий код. Скорее всего, у Вас в POST приходит, что-то не то. Либо Вы чего-то недопоняли.
1,693 28.06.2016 12:15:56
Re: превью статей (15 ответов, оставленных в Вопросы по работе с системой)
Напишите нам в поддержку разберёмся. Всё должно работать.
1,694 27.06.2016 19:22:00
Re: превью статей (15 ответов, оставленных в Вопросы по работе с системой)
Может быть {$item->getPreview($length = 50)} ?
Нет всё правильно, {$item->getPreview(50)}.
$length то Вам зачем?
В Вашем случае, будет лучше если укажите признак показа в виде простого текста:
{$item->getPreview(50, false)}Судя из страницы, что Вы привели, очень похоже, что там у Вас не тот шаблон выводит, эту страницу. Попробуйте проверить тестово выведя абракодабру.
1,695 27.06.2016 19:16:16
Re: Задвоенные характеристики (3 ответов, оставленных в Вопросы по работе с системой)
Показ прописан в шаблоне Вашего отображения товара. Вроде раньше никого не раздражало
. Вы можете поправить шаблон и удалить секцию с выводом характеристики комплектации.
1,696 27.06.2016 16:08:00
Re: Задвоенные характеристики (3 ответов, оставленных в Вопросы по работе с системой)
Ничего здесь задвоеного нет.
У Вас просто показываются сверху текущая выбранная комплектация. Вы можете её переключить и информация сменится. Чуть ниже идут все характеристики. Т.е. все возможные значения.
1,697 27.06.2016 13:55:28
Re: превью статей (15 ответов, оставленных в Вопросы по работе с системой)
Конечно, ведь:
/**
* Возвращает краткий текст заданный пользователем,
* а если он не задан, то сформированный из основного текста
*
* @param integer $length - длинна текста
* @param boolean $html - выводить как HTML?
*/
function getPreview($length = 500, $html = true)Т.е. {$item->getPreview(Нужная длинна в цифрах)}
1,698 27.06.2016 12:30:48
Re: Создать отдельную страницу (59 ответов, оставленных в Вопросы по разработке модулей и API системы)
Если нужно в публичной части, то:
Вам нужно будет создать свой front контроллер, который выведет нужную информацию. А также объявить маршрут Вашей страницы.
Все маршруты(типы адресов страниц) объявляются в функции getRoute в handlers.inc.php. Вы можете посмотреть его в любом модуле. Этот маршрут будет вести на front контроллер, если набран указанный Вами адрес.
Статья на эту тему вот здесь:
http://readyscript.ru/text-blog/Kak-pra … adyScript/
Например вот такой маршрут:
function init()
{
$this
->bind('getroute'); //Объявляем хук маршрутов
}
/**
* Объявление маршрутов в системе
*
*/
public static function getRoute($routes)
{
//Ваш маршрут
$routes[] = new \RS\Router\Route('custom-front-mycontroller',
'/custom/myurl/', null, t('Мой FRONT контроллер'));
return $routes;
} Соотственно по пути /custom/myurl/ он будет стучаться в Вам на /modules/custom/controller/front/mycontroller.inc.php
Если нужно в админ панели сделать раздел, то смотрим моё видео о меню.
https://www.youtube.com/watch?v=AeOKRd5 … mp;index=6
И копируем себе в модуль какой-либо админский контроллер, который Вам больше нравится, после чего переделываем под себя.
Попробуйте. Если не будет получаться скажите, только фрагменты кода приведите.
1,699 24.06.2016 18:28:20
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Вообщем, решил повторить Ваш путь. Да действительно так не отработает, т.к. заказ это единственное место где используется в виду особенностей не update, а updateCartData. который относится к корзине в контроллере OrderCTRL. Поэтому делать надо так:
function init()
{
$this
->bind('controller.afterexec.shop-admin-orderctrl');
}
/**
* Срабатывает после отработки контроллера сохранения заказа
*
* @param string $result_html - готовый HTML, возвращаемый контроллером
*/
public static function controllerAfterexecShopAdminOrderCtrl($result_html)
{
if (isset($_REQUEST['current_val'])){
$config = \RS\Config\Loader::byModule('shop'); //Получам конфиг магазина
$config['current_val'] = \RS\Http\Request::commonInstance()->request('current_val', TYPE_STRING, ""); //Записываем значение из поста
$config->update(); //ЗДЕСЬ есть, т.к. сохраняется другой объект
}
return $result_html;
}Т.е. вешаясь на отработку контроллера.
1,700 24.06.2016 17:55:26
Re: Редактирование полей (65 ответов, оставленных в Вопросы по работе с системой)
Не может такого быть. Вы видимо, что-то делаете не так. Постучись к нам в онлайн консультант когда мы онлайн, я посмотрю, что Вы делаете.
100% что-то очевидное.