а что-нибудь вообще выводится? Подключили все скрипты и стили?
226 09.04.2019 13:21:07
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
227 09.04.2019 11:39:40
Re: Модуль для оптовой торговли (8 ответов, оставленных в Вопросы по Маркетплейсу)
В общем то в модуле "Правила для корзины" добавлен такой функционал
228 09.04.2019 11:37:30
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
в первую очередь туда и пошел)
Отлично, значит перейдем к слудющему пункту:
/templates/maintheme/moduleview/banners/sliderНе забыли ли положить шаблон в подкаталог blocks?
/templates/maintheme/moduleview/banners/blocks/slider229 09.04.2019 02:20:49
Re: Слайдер и прочее (22 ответов, оставленных в Вопросы по созданию тем оформления)
Здравствуйте! В RS все не сложнее, а чаще всего и проще других CMS. Напишите подробнее, куда копировали slider.tpl.и как собираете свою тему. Используете ли конструктор сайтов или прописываете вызов блоков в шаблоне напрямую.
Я бы советовал все же начать с переделки заводской flatlines, тогда было бы понятно "откуда ноги растут".
Если краткой, то
Создаете зону для баннера, добавляете в нее баннеры. В конструкторе сайта у блока со слайдером в настройках выбираете созданную зону. Если вручную в код вставили вызов, то передайте информацию о зоне вот так:
{moduleinsert name="\Banners\Controller\Block\Slider" zone="fashion-center"}Так же полезно заглянуть в https://readyscript.ru/dev-manual/dev_templates.html
230 04.04.2019 16:23:59
Re: WIKI по системе Readyscript (5 ответов, оставленных в Сайт ReadyScript)
Как вариант, еще закрепленные темы с рубрикатором как на 4pda.ru можно сделать.
231 03.04.2019 18:52:28
Re: WIKI по системе Readyscript (5 ответов, оставленных в Сайт ReadyScript)
Люто плюсую.
232 29.03.2019 16:15:40
Re: Модули старшей версии. Перекрыли кислород... на 20 минут (9 ответов, оставленных в Вопросы по разработке модулей и API системы)
что-то суть никто так и не понял, главное показать уровень ЧСВ видать.
Те кто отписался, вы поймите я покупаю все что необходимо, и каждый клиент со свое лицензией и с тем функционалом что она подразумевает.
У меня только один минус, я взял модуль и переписал его под себя, грубо говоря из буратино сделал барби. И использую себе в удовольствие. К подобным решениям по заимствованию кода я прибегал с 2014 года, первое мое знакомство с RS.Ну значит так написали, что большинство поняли по другому. У каждого текста есть несколько оттенков прочтения.
Я бы эту тему закрыл от греха подальше)
233 28.03.2019 23:05:08
Re: Модули старшей версии. Перекрыли кислород... на 20 минут (9 ответов, оставленных в Вопросы по разработке модулей и API системы)
Для компании с множеством филиалов 19700 руб - не деньги, поэтому здесь нет оправданий. У меня тоже есть доступ ко множеству модулей, однако всегда покупаю заново для клиентов или повышаю версию RS при необходимости.
Уважайте труд разработчиков!
234 28.03.2019 21:57:07
Re: Характеристика товара - диапазон (7 ответов, оставленных в Вопросы по работе с системой)
Для ростовки одежды такое делал. Размер "от" и "до" был указан в товаре, а в фильтре диапазон выбирался.
Поля заполнялись автоматически исходя из максимальной и минимальной ростовки в комплектациях.
Делал для старой версии, может сейчас уже поменялось.
90 и 89 - id "ростовка от" и "ростовка до".
Файл templates/theme/moduleview/catalog/blocks/sidefilters/type/int.my.tpl
{if $prop.id==90}
<div class="filter typeInterval">
<h4>{$prop.title}:</h4>
<table class="fullwidth fromToLine">
<tr>
<td>{t}от{/t}</td>
<td class="p50"><input type="text" class="textinp fromto" name="pf[{90}][from]" value="{$filters[89].from|default:$prop_from.interval_from}" data-start-value="{$prop_from.interval_from}"></td>
<td>{t}до{/t}</td>
<td class="p50"><input type="text" class="textinp fromto" name="pf[{89}][to]" value="{$filters[90].to|default:$prop.interval_to}" data-start-value="{$prop.interval_to}"></td>
<td>{$prop.unit}</td>
</tr>
</table>
<input type="hidden" data-slider='{ "from":{$prop_from.interval_from}, "to":{$prop.interval_to}, "step": "{$prop.step}", "round": {$prop->getRound()}, "dimension": " {$prop.unit}", "heterogeneity": [{$prop->getHeterogeneity()}], "scale": ["{$prop_from.interval_from}", "{$prop.interval_to}"] }' value="{$filters[89].from|default:$prop_from.interval_from};{$filters[90].to|default:$prop.interval_to}" class="pluginInput" data-start-value="{$prop_from.interval_from};{$prop.interval_to}">
</div>
{elseif $prop.id!=89}
<div class="filter typeInterval">
<h4>{$prop.title}:</h4>
<table class="fullwidth fromToLine">
<tr>
<td>{t}от{/t}</td>
<td class="p50"><input type="text" class="textinp fromto" name="pf[{$prop.id}][from]" value="{$filters[$prop.id].from|default:$prop.interval_from}" data-start-value="{$prop.interval_from}"></td>
<td>{t}до{/t}</td>
<td class="p50"><input type="text" class="textinp fromto" name="pf[{$prop.id}][to]" value="{$filters[$prop.id].to|default:$prop.interval_to}" data-start-value="{$prop.interval_to}"></td>
<td>{$prop.unit}</td>
</tr>
</table>
<input type="hidden" data-slider='{ "from":{$prop.interval_from}, "to":{$prop.interval_to}, "step": "{$prop.step}", "round": {$prop->getRound()}, "dimension": " {$prop.unit}", "heterogeneity": [{$prop->getHeterogeneity()}], "scale": [{$prop->getScale()}] }' value="{$filters[$prop.id].from|default:$prop.interval_from};{$filters[$prop.id].to|default:$prop.interval_to}" class="pluginInput" data-start-value="{$prop.interval_from};{$prop.interval_to}">
</div>
{/if}Код грязный, делал давно.
235 23.03.2019 04:25:24
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
о каком public'е Вы все пишите?
качественно перенесли старые баги!
Вы бы хоть написали об этом, а то кто-то на радостях скачает и радости не ощутит smileМне уже начинает надоедать ваша манера общения. Кто хочет, тот применит, если надо исправит. Какой public понятно из пункта 1 вашего же вопроса.
236 23.03.2019 02:41:35
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
/**
* Возвращает результаты поиска по категориям в зависимости от запроса
*
* @param string $query - строка для поиска
* @param integer $limit - лимит результатов поиска
*
* @return \Catalog\Model\Orm\Dir[]
*/
function getSearchQueryCategoryResults($query, $limit = 1)
{
$list = $this->dirapi
->setFilter('name', $query, '%like%')
->setFilter('public', 1)
->getList(1, $limit);
//Если не нашли результаты, то посмотрим странслитом
if (empty($list)){
$query = Transliteration::puntoSwitchWord($query);
$list = $this->dirapi->clearFilter()->setFilter('name', "%$query%",'like')
->getList(1, $limit);
}
return $list;
}В версии на текущую дату public есть, но нет его в транслитерации. Забыли видимо
237 23.03.2019 02:33:55
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
/**
* Возвращает результаты поиска по категориям в зависимости от запроса
*
* @param string $query - строка для поиска
* @param integer $limit - лимит результатов поиска
*
* @return \Catalog\Model\Orm\Dir[]
*/
function getSearchQueryCategoryResults($query, $limit = 1)
{
$list = $this->dirapi->setFilter('name', "%$query%",'like')
->getList(1, $limit);
//Если не нашли результаты, то посмотрим странслитом
if (empty($list)){
$query = \RS\Helper\Transliteration::puntoSwitchWord($query);
$list = $this->dirapi->clearFilter()->setFilter('name', "%$query%",'like')
->getList(1, $limit);
}
return $list;
}Вот код исходного модуля. О public речи нет.
238 23.03.2019 02:30:30
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
1. почему после транслитерации запроса пропал setFilter('public', 1) ?
2. чем setFilter('name', "$query%", 'like') от setFilter('name', $query, '%like%') отличается? почему такой синтаксис?
3. удаление методов getSearchQueryProductResults, getSearchQueryProductCount ломает обратную совместимость и может привести к проблемам в сторонних модулях.1. В исходном коде этого не было
2. В исходном коде был первый вариант, я использовал второй.
3. Методов не хватает, так как делалось для старой версии 3, там их нет.
239 21.03.2019 02:01:36
Re: Фильтр "наличие по выбранным складам" (1 ответов, оставленных в Вопросы по работе с системой)
Здравствуйте, Юрий! Я делал доработку, которая в зависимости от наличия товара на складе устанавливала галки на списковой характеристике "В наличии на складе" у товаров.
В списке характеристики перечислены все склады. А у товаров включены соответствующие значения. Пользователь в фильтре просто ставит галку у нужных складов.
240 19.03.2019 18:54:46
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
https://helpdesk.readyscript.ru/wish/Mo … a-684.html
Добавил пожелание
241 18.03.2019 22:51:58
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
Хорошо, Александр, создам.
И до кучи в контроллере блока searchline поменял порядок вывода: Категория->Товар->Бренд.Забыл модифицированный контроллер блока выложить https://yadi.sk/d/rIjrrrzoKe3IqQ
из catalog/controller/block
242 18.03.2019 13:20:20
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
Кеш сбрасывали? Я корректировал только вывод категорий, так как он выводится не модулем поиска.
Мусор при выводе может быть из за того, что включен поиск в описании и характеристиках.
То есть решил задачу только для вывода категорий, вывод товаров надо настраивать в модуле поиска.
243 13.03.2019 22:28:50
Re: Безопастность (16 ответов, оставленных в Предложения по улучшению системы)
Ваши предложения?
244 23.02.2019 20:49:38
Re: Вывод картинок характеристик (15 ответов, оставленных в Вопросы по созданию тем оформления)
Владимир, подглядывайте в код блока фильтров. Там все есть
245 22.02.2019 21:48:21
Re: Вывод картинок характеристик (15 ответов, оставленных в Вопросы по созданию тем оформления)
Александр, код не сократить? Действительно только таким перебором?
246 11.02.2019 17:59:15
Тема: Пример триггера для модуля рассылки (0 ответов, оставленных в Вопросы по разработке модулей и API системы)
Здравствуйте, коллеги!
Пишу свой триггер, но что то не выходит каменный цветок.
Задача при появлении новых товаров выполнять рассылку.
function match()
{
\RS\HashStore\Api::set(self::DATE_LAST_CHECK, (string) time());
$lastrun = \RS\HashStore\Api::get(self::DATE_LAST_RUN,0);
$days = floor((time() - $lastrun) / (60 * 60 * 24));
$new = \RS\HashStore\Api::get(self::DATE_NEW);
$last = \RS\HashStore\Api::get(self::DATE_LAST);
$daysnew = floor((time() - strtotime($new)) / (60 * 60 * 24));
$dayslast = floor((time() - strtotime($last)) / (60 * 60 * 24));
file_put_contents('mlog.txt',var_export(date("Y-m-d H:i:s") ,true),FILE_APPEND);
file_put_contents('mlog.txt',var_export($daysnew." ".$dayslast ,true),FILE_APPEND);
$result = array();
if ((\RS\Module\Manager::staticModuleExists('mailsender'))
&& ($days > 0)
&& ($daysnew <= $days || $dayslast <= $days)) {
$users = \RS\Orm\Request::make() //получим всех пользователей
->from(new \Users\Model\Orm\User(), 'U')
->whereIn('e_mail',array('alerts@ev-lab.ru','mail@bnm-socks.ru'))
->objects();
foreach ($users as $user) {
$result[] = new \MailSender\Model\TriggerData($user);
}
file_put_contents('mlog.txt','sending',FILE_APPEND);
\RS\HashStore\Api::set(self::DATE_LAST_RUN, (string) time());
}
return $result;
}Есть ли примеры триггеров?
247 07.02.2019 22:15:22
Re: Вывод картинок характеристик (15 ответов, оставленных в Вопросы по созданию тем оформления)
Не поверите, 2 дня потратил, чтобы найти способ. Тоже хотел написать на форум.
На коленке сделал вывод одной из характеристик. Если можно упростить код, то с удовольствием гляну.
<div class='product-specials'>
{foreach $product->fillProperty() as $data}
{if $data.properties['336']}
{$product_property=$product->getPropertyValueById(336,null,false,true)}
{$property=$data.properties['336']}
{foreach $property->getAllowedValuesObjects() as $key => $item_value}
{foreach $product_property as $id=>$value}
{if $item_value.id==$value}
<label class="cb_{$prop.id}_{$item_value@iteration} product-specials_icon " title="{$item_value.value}">
{if $item_value.image}
<img src="{$item_value.__image->getUrl(40, 40, 'cxy')}">
{/if}
</label>
{/if}
{/foreach}
{/foreach}
{/if}
{/foreach}
</div>248 23.01.2019 14:42:02
Re: Понижение версии (3 ответов, оставленных в Вопросы по работе с системой)
Спасибо! Заодно прибил модули из старших версий.
249 23.01.2019 11:32:07
Тема: Понижение версии (3 ответов, оставленных в Вопросы по работе с системой)
Здравствуйте! Необычная ситуация. Необходимо разделить 2 сайта. У второго сайта лицензия будет не "Гипермаркет", а "Витрина". Как понизить версию у копии сайта?
250 21.01.2019 18:57:19
Re: Подсистема поиска. Оптимизация, улучшение (28 ответов, оставленных в Вопросы по разработке модулей и API системы)
Разобрался я в причине того, что результаты поиска в блоке поиска отличаются от страницы поиска)
Я думал, что поиск в блоке поиска делается механизмами модуля Search, но получается, что там свой код и категории ищутся вне зависимости от настроек модуля Search просто по %like%.
Я немного скорректировал searchlineapi.inc.php в блоке поиска. Теперь поиск в категориях идет в следующем порядке: like%, транслитерация like%, %like%, транслитерация %like%. Если на этапе есть вхождение, то далее поиск не идет. Слава богу, "мел" теперь найти можно))
https://yadi.sk/d/geI1drZ9g7ZIJg
И до кучи в контроллере блока searchline поменял порядок вывода: Категория->Товар->Бренд.
В принципе, клиент доволен, я тоже) Получается, что претензии были не к модулю поиска товаров, а к реализации поиска у блока строки поиска.