Вы используете стандартную тему оформления?
2,576 30.03.2015 19:53:32
Re: Деактивация фильтров (6 ответов, оставленных в Вопросы по работе с системой)
2,577 27.03.2015 12:19:36
Re: Email уведомления (11 ответов, оставленных в Вопросы по работе с системой)
А у меня не получилось почему-то настроить Email уведомления магазина. Можно по шагам для совсем чайников?
С какой почты будет отправляться?
Поле "От " заполнила.И восстановление пароля тоже на почту не приходит.
А вы вообще от куда и куда слать будете письмо? Я имею ввиду почтовые ящики и какой у вас домен с которого отправляете?
Можете часть букв закрыть "*"
2,578 26.03.2015 19:39:49
Re: Вывод информации из другой таблицы в шаблоне (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Не за что)
2,579 26.03.2015 11:40:14
Re: Вывод информации из другой таблицы в шаблоне (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Ну что получилось?
2,580 25.03.2015 13:37:02
Re: Обновление при покупке лицензии (2 ответов, оставленных в Вопросы по работе с системой)
Нашёл решение проще:
Удалите папки /modules/exchange, /modules/partnership, /cache
В файле /package.inc.php заменить строку Shop.Full на Shop.Middle
2,581 25.03.2015 13:32:50
Re: не устанавливается обновление (2 ответов, оставленных в Сайт ReadyScript)
Кстати возможна и подобная проблема Схожая тема.
2,582 25.03.2015 13:26:57
Re: SEO (6 ответов, оставленных в Вопросы по работе с системой)
А Вы справа от полей мета-тегов на вопросик наведитесь. И кстати {title} пишется внутри без пробелов.
2,583 25.03.2015 13:23:23
Re: Сортировка "Новых сообщений в поддержку" (2 ответов, оставленных в Вопросы по работе с системой)
Ну пока это не предусмотрено, но решение логичное. Напишите пожалуйста нам в сервис пожелание, мы когда доберёмся сделаем.
Ссылка на пожелания
2,584 25.03.2015 13:21:43
Re: Обновление при покупке лицензии (2 ответов, оставленных в Вопросы по работе с системой)
Обратный путь не предусмотрен насколько я знаю, только в большую сторону можно. Вам надо будет поставить в другую папку на сервере Маркет версию. Например сделав поддомен.
А из первой папки с шаблонами скопировать свой шаблон в папку с шаблонами второй папки.
Что касается данные товаров. То Вы можете выгрузить все данные с помощью CSV, фотографии все хранятся в папке /storage/photo/original(Её тоже скопировать). Затем загрузить CSV на другом поддомене и все Ваши товары будут проимпортированны.
В конце просто переименуете папки между собой. А поддомен который будет ссылаться на уже первую папку вместо второй просто удалите.
Примерно так.
2,585 25.03.2015 13:10:43
Re: Вывод информации из другой таблицы в шаблоне (4 ответов, оставленных в Вопросы по разработке модулей и API системы)
Добрый день.
Ну чтож, тут есть сразу не сколько решений. Давайте Рассмотрим всё по порядку:
Вариант 1
Нами к smarty(шаблонозатор системы) написан плагин, который позволяет вызывать статический метод у любого класса системы прямо в шаблоне, главное чтобы это был метод public static
Т.е. допустим у Вас имеется свой собственный класс по пути \Custom\Model\CustomApi и метод loadInfo. Чтобы его вызвать нужно воспользоваться следующей конструкцией:
В шаблоне
{* $list - список Ваших объектов *}
{$list}
{* Вызов метода loadInfo в \Custom\Model\CustomApi *}
{static_call var=new_list callback=['\Custom\Model\CustomApi','loadInfo'] params=[$list]}
Таким образом мы сделаем аналог вызова функции вот так:
$new_list = \Custom\Model\CustomApi::loadInfo($list);
Т.е. в шаблоне все данные, которые будут возвращены в шаблон, возвратятся в $new_list
В Вашем классе надо будет сделать так
/**
*
* @param array $list - массив входящих объектов
*/
public static function loadInfo($list){
//Пройдёмся в цикле по списку
foreach ($list as $k=>$item){
//Получим объект товара сделав запрос к таблице товаров через \RS\ORM\Request
$product = \RS\ORM\Request::make()
->from(new \Catalog\Model\Orm\Product()) //Укажем что запрос будет в таблицу товаров
->where(array(
'id' => $item['product_id']
))
->object(); //Получим объект \Catalog\Model\Orm\Product
//Ну или вот так ещё короче $product= new \Catalog\Model\Orm\Product($item['product_id']);
$list['product_title'] = $product['title']; //Создаём новый ключ массива, куда и запишем значение названия товара
//Или можно записать весь объект
$list['product'] = $product;
return $list;
}
}
Получить ссылку на товар можно тогда так:
{$new_list.0.product->getUrl()}
{*
Аналог
$new_list[0]['product']->getUrl();
*}
Подробнее метод static_call описани в документации
Вариант 2
Если используете блок контроллер или front контроллер, то можно прямо в контроллере подгрузить эти сведения о товаре. Например через join.
Рассмотрим на примере:
Допустим Вы запросом получаете сведения из одной таблицы, и вам нужно прикрепить данные из другой таблицы.
//Получим список комплектаций с подгруженным полем из товара
$list = \RS\Orm\Request::make()
->select('O.*, P.title as product_title') //Выбрать только все поля таблицы комплектаций и одно поле товара
->from(new \Catalog\Model\Orm\Offer(),'O') //Запрос к такблице комплектаций с алиасом O
->join(new \Catalog\Model\Orm\Product(),'O.product_id=P.id','P') //Join к таблице товаров с алиасом P
->where("O.product_id>0") // WHERE O.product_id>0
->objects();
2,586 24.03.2015 15:56:25
Re: Массовая загрузка фото товаров (7 ответов, оставленных в Вопросы по работе с системой)
У вас на хостинге стоит ограничение в 2 МБ на загрузку файлов. Обратитесь в хостинг для увеличения этого параметра post_max_size и upload_max_filesize.
2,587 24.03.2015 15:55:00
Re: не устанавливается обновление (2 ответов, оставленных в Сайт ReadyScript)
Видимо у Вас совсем слабый хостинг. Скажите(хостингу) чтобы поставили хотя бы 5 минут для Вашего хостинга. max_execution_time
2,588 23.03.2015 19:08:55
Re: Проблема со значениями характеристик (10 ответов, оставленных в Вопросы по работе с системой)
Ну конечно. У меня Текущая комплектация системы: Shop.Full. Версия ядра: 2.0.0.132.
Скачайте новый дистрибутив. Или обновитесь.
Там уже функционала ещё целая тонна добавилась.
2,589 23.03.2015 19:07:53
Re: Проблема со значениями характеристик (10 ответов, оставленных в Вопросы по работе с системой)
Проверил у себя. Всё показывается. Может вы что-то не так делаете?
2,590 23.03.2015 18:59:30
Re: Проблема со значениями характеристик (10 ответов, оставленных в Вопросы по работе с системой)
Ааа, если демо. Тогда должен быть последний. Ну если конечно вы сегодня скачали, а не месяцы назад. Сейчас посмотрю и у себя.
2,591 23.03.2015 18:27:08
Re: Проблема со значениями характеристик (10 ответов, оставленных в Вопросы по работе с системой)
А у вас случайно шаблон не старый? Я просто посмотрел, вроде должно отображаться.
2,592 23.03.2015 18:08:20
Re: Проблема со значениями характеристик (10 ответов, оставленных в Вопросы по работе с системой)
А какой вы тип ставите?
2,593 23.03.2015 13:34:00
Re: Последнее обновление с привязкой фото к комплектациям (3 ответов, оставленных в Вопросы по работе с системой)
Забыл сказать, и style.css ещё. Но там легко будет сравнить, по сервису который я привёл в прошлом посте
2,594 23.03.2015 12:52:31
Re: Последнее обновление с привязкой фото к комплектациям (3 ответов, оставленных в Вопросы по работе с системой)
Ну там многие вещи изменились. Проще всего сравнить файлы через вот этот сервис.
А файлы поменялись:
1. product.tpl - страница товара,
2. show_complekts.tpl - показ комплектаций и
3. jquery.changeoffer.js.
2,595 22.03.2015 10:36:46
Re: Уменьшение количества товара и списание средств (6 ответов, оставленных в Вопросы по разработке модулей и API системы)
Получить авторизованного пользователя можно так:
$user = \RS\Application\Auth::getCurrentUser()
2,596 20.03.2015 13:51:52
Re: Уменьшение количества товара и списание средств (6 ответов, оставленных в Вопросы по разработке модулей и API системы)
Для работы с БД я на этой странице постарался описать.
2,597 20.03.2015 13:49:54
Re: Уменьшение количества товара и списание средств (6 ответов, оставленных в Вопросы по разработке модулей и API системы)
Здравствуйте.
Итак нам нужно изменить количество товара. Сведения о количестве товаров хранятся в разрезе складов и комплектаций. По умолчанию к товару создаётся 1 комплектация где хранятся сведения о количестве данного товара. Если комплектаций больше, то соотвественно для каждой комплектации хранится своё количество товара на складе.
Поэтому нужно:
1. Подгрузить товар.
2. Вызвать у него заполнение количества комплектаций и остатков их.
3. Составить новый массив комплектаций с изменениями по количству на складе, привоив их товару.
4. Обновить товар.
Вот как это выглядит:
$product_id = 27452; //id товара
$plus_value = 2; //Количество на которое увеличися товар
//Подгрузим сам товар
$product = new \Catalog\Model\Orm\Product($product_id);
//Заполняем сведения об остатках на складах товара и имеющихся комплектациях, значения появятся в ключе offers
$product->fillOffersStock();
//Получим склад по умолчанию через запрос к БД использую ORM Request
$warehouse = \RS\Orm\Request::make()
->from(new \Catalog\Model\Orm\WareHouse())
->where(array(
'site_id' => \RS\Site\Manager::getSiteId(), //На текущем сайте
'default_house' => 1 //Флаг по умолчанию включён
))
->object();
//Получаем все комплектации
$offers = $product['offers'];
//Эти строки показывают общую картину что подгрузили и как это выглядит. Комлектации находятся в ключе offers
echo "<pre>";
var_dump('warehouse', $warehouse);
var_dump('product', $offers);
echo "</pre>";
//Пробежимся по комплектациям и изменим количество, задав новые значения комплектациями
$new_offers = array();
foreach ($offers['items'] as $k=>$item){
//Т.к. товар это объект \Catalog\Model\Orm\Product, то обращение к нему как к массиву происходит так, иначе Notice
$stock_num = $item['stock_num'];
$stock_num[$warehouse['id']] = $stock_num[$warehouse['id']]+$plus_value;
$item['stock_num'] = $stock_num;
$new_offers[$k] = $item;
}
$product['offers'] = $new_offers;
//Вызываем обновление у товара. В функции afterWrite класса \Catalog\Model\Orm\Product произойдёт обновление
$product->update();
Получить значение из POST можно так к контроллере:
$this->request('product_id',TYPE_INTEGER,0); //Получение переменной из $_REQUEST, product_id где ожидается что это число.
Строка:
use \Product\Model\Orm\Product
Все го лишь отвечает за, то что вы можете вместо
\Product\Model\Orm\Product::loadByWhere();
Сделать так
Product::loadByWhere()
Т.е. использовать сокращённый alias
2,598 19.03.2015 14:49:41
Re: Ожидание tvrain.ru (3 ответов, оставленных в Вопросы по работе с системой)
семь бед - один reset)
2,599 18.03.2015 16:13:25
Re: Как создать лейбл "Хит" для товаров? (1 ответов, оставленных в Вопросы по созданию тем оформления)
Насколько я понял, нужно у нескольких товаров отобразить нужный нам лейбл. В данном случае это "Хит".
Это можно сделать так:
1. Товары присвоить спец. категории "Хит"(создав её).
2. У спец. категории "Хит" загрузить картинку(зависит от шаблона, см. ниже) и указать значение в поле "Псевдоним" если поле пустое, например нажав на кнопку со стрелками. Например записать значение "hit"(без ковычек).
3. Нужно отредактировать нужный Вам шаблон.
В шаблоне все сводится к тому, что в шаблоне у объекта товара нужно вызвать метод inDir, который проверяет принадлежит ли данный товар нужной категории.
{$product->inDir('Псевдоним категории')}
В нашем случае это:
{$product->inDir('hit')} //Проверяем принадлежит ли товар категории с псевдонимом - hit
Если например рассматривать тему оформления "fashion" , а именно шаблон
/templates/moduleview/catalog/list_products.tpl - список товаров
В нём есть строчка:
{if $product->inDir('new')}<i class="new"></i>{/if}
Т.е. если товар принадлежит категории с псевдонимом - new, то эта строка будет добавлена.
Если нам нужно добавить ещё и "Хит". То делаем так.
{if $product->inDir('new')}<i class="new"></i>{/if}
{if $product->inDir('hit')}<i class="hit"></i>{/if}
После чего можно добавить класс в style.css, который будет делать бэкграунд с картикой.
.products li .image .hit{
position:absolute;
width:102px;
height:20px;
top:9px;
left:1px;
background: url(../img/КАКАЯ-ТО КАРТИНКА ХИТА продаж) no-repeat;
}
Ну или просто дописать что это хит.
В начале я также упоминал о том, что и у категории можно указывать картинку. В случае описанном выше этого делать не нужно, т.к. браться картинка будет из css файла.
Чтобы это использовать в нашем шаблоне категорию надо предварительно подгрузить и проверять у неё наличие фото.
Вот как это может выглядеть:
{foreach from=$product->getMySpecDir() item=spec}
{if $spec.image}
<img src="{$spec->__image->getUrl(62,62, 'xy')}">
{/if}
{/foreach}
Подсмотреть можно в теме по умолчанию в файле /modules/catalog/view/list_products.tpl
И далее правите вёрстку под Вашу тему по вкусу.
2,600 10.03.2015 13:31:20
Re: Модуль позволяющий выбирать цвет на сайте и применять фильтр по цвету. (17 ответов, оставленных в Сторонние модули, темы оформления для ReadyScript)
Дело в стилях. 100%.
Даже это видно из скриншотов. Стили, которые вы просто скопировали перемешались с уже существующими в системе стилями.
Для отображения фильтров в шаблона из которых вы переделываете используется jquery плагин formstyler, который как раз и стилизует все галочки, делая их <span> и отслеживает нажатие.
Проинспектируйте с помощью firefox и можете сами всё увидеть.
Что касается вашего случая(первая картинка). Вам надо эти галочки скрыть. Например поместив их в скрытый контейнер <div>. Т.к. цвет это обыкновенная ссылка, то вам надо будет просто отловить нажатие на эту ссылку с помощью javascript и затем вызывать у checkbox событие change. Например, если вы используете jquery, то это может выглядеть примерно так.
<script type="text/javascript">
$(document).ready(function(){ //Когда DOM готов
$(".block-colors a").on('click',function(){ //Нажатие на ссылку с цветами
var parent = $(this).closest('li'); //Обращаемся к лижайшему <li>, он будет родителем от которого искать детей
var chk = $("input[type='checkbox']",parent); //получили нашу галку
chk.prop('checked',!chk.prop('checked')); //Сменим состояние галки
chk.change(); //Сгенерируем событие, что галка изменилась.
});
});
</script>
Примерно так.
Вообщем надо немного покопать. Если Вы не сможете самостоятельно выполнить, то лучше обратится к более сильному программисту, либо к нам в платную поддержку. Там небольшие и не долгие изменения.