1,426

(5 ответов, оставленных в Вопросы по созданию тем оформления)

Ничего не понял.

Помогло?

Тьфу

{$phone = $user.phone}
{$phone = user.phone}
<td>{$phone = preg_replace("#(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})#", "$1 ($2) $3-$4-$5", $phone , -1, null)}
                            {$phone}</td>

У вас $user чему равен? Выведите.

1,431

(2 ответов, оставленных в Вопросы по созданию тем оформления)

Да это оно.

1,432

(9 ответов, оставленных в Вопросы по созданию тем оформления)

маска всегда применяется к полю ввода текста. А не просто к тексту.

<input name="phone" value="{$user.phone}"/>

<script type="text/javascript">
$('[name="phone"]').mask('(999) 999-9999');
</script>

Читайте документацию к плагинам

1,433

(5 ответов, оставленных в Вопросы по созданию тем оформления)

Илья пишет:

Вебсайт - меню, есть верхнее и нижнее, но нижнее не отображается на сайте.
Может где-то опять галочку не поставили?)
Спасибо!

А вы внизу блок с меню выводите?

Илья пишет:

Не работает, я уже по васякому пробовал sad

Работает
https://ru.functions-online.com/preg_replace.html?command={"pattern":"#(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})#","replacement":"$1 ($2) $3-$4-$5","subject":"+79628678430","limit":-1}

Адрес скопировать польностью

+79*2867**30

<td>{$user.phone = preg_replace("#(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})#", "$1 ($2) $3-$4-$5", $user.phone, -1, null)}
                            {$user.phone}</td>

=> +7 (9*2) 867-**-30

* - это цифра

Прочитайте сообщение заново. Я дополнил.

Александр, я эту строку видел. Но когда нажимаю на добавление в корзину, всплываете окно. А я хотел, чтобы на ПК  окно всплывало, а на мобильной просто обновлялось кол-во в корзине, как добавление в избранное.

Сегодня ещё посмотрю, может сам додумаюсь

Добавьте ссылкам на кнопке купить класс noShowCart и корзина всплывать не будет. Единственное, что если Вам надо на простом компьютере всплывающее окно, а на мобиле нет, придётся сделать добавление этого класса программно.
Можно подвеситься на window load. Когда сайт открывается с мобильно устройства, то у тега html присваивается класс touch, а если не с мобильного, то no-touch.

$(window).on('load', function(){
    //Ваш код
});

1,438

(14 ответов, оставленных в Вопросы по работе с системой)

Не получается - пустая страница.

Пустая страница только если есть ошибки. Включите отображение ошибок:
https://readyscript.ru/faq/#faq-errors

Можно из Вашего модуля подвеситься на контроллер и добавить Вашу кнопку. Т.к. там просто нужно добавить в массив нужную кнопку.
Вам нужен хук:

controller.exec.shop-admin-orderctrl.index

https://readyscript.ru/dev-manual/dev_h … oks_common

Там в первом аргументе будет CrudCollection

/**
* @param \RS\Controller\Admin\Helper\CrudCollection $controller - объект CRUD контроллера
*/
public static function controllerExecShopAdminOrderCtrlIndex($controller)
{
      $controller['topToolbar']->addItem(new \RS\Html\Toolbar\Button('ссылка на нужное', 'Наименование кнопки'));
}

По идее так.

Ну по идее Вам надо просто закомментировать строку в файле:
/templates/ВАША ТЕМА/resource/js/common.js

if ($.detectMedia && ($.detectMedia('mobile') || $.detectMedia('portrait')) ) return true; //Не открываем окна в мобильной версии

Меняем на:

//if ($.detectMedia && ($.detectMedia('mobile') || $.detectMedia('portrait')) ) return true; //Не открываем окна в мобильной версии

Только если у Вас тема не отклонирована, то нужно отклонировать.

1,441

(3 ответов, оставленных в Вопросы по работе с системой)

Веб-сайт->Настройка модулей->Нужный модуль->Справа "История изменений".

1,442

(2 ответов, оставленных в Вопросы по работе с системой)

По идее так.

Купить {title|№|1} оптом | {cat_name}

1,443

(10 ответов, оставленных в Вопросы по работе с системой)

>,  >=, <, <=
Например:

{if $percent>=10 && $percent<=10}

1,444

(6 ответов, оставленных в Вопросы по созданию тем оформления)

Отлично!

1,445

(10 ответов, оставленных в Вопросы по работе с системой)

Sergey T. пишет:

Подскажите пожалуйста как можно вывести скидку в разных стилях в зависимости от ее размера.
Например -10% зеленым, -20% оранжевым, -30% красным и т.д.

http://s017.radikal.ru/i406/1609/b2/4cb67a3bd834.jpg

Сейчас верхняя РРЦ цена выводится вот так:

{if $product->getCost('Розничные цены - по заказам')>0}
                  {$product->getCost('Розничные цены - по заказам')}                                                  
{/if}  

А цена по умолчанию выводится вот так:

{$product->getCost()} {$product->getCurrency()}

Как посчитать разницу между двумя этими суммами и вывести ее в процентах и чтобы стили изменялись?
Также, если разницы между ценами нет, то скидку не выводить совсем.

Можно назначением класса на обёрку скидки. У Вас скидка в какой переменой выводится?
Предположим, что $percent.
Тогда

{* Старая и новая цена *}
{$last_price=$product->getCost('Розничные цены - по заказам', null, false)}
{$single_price=$product->getCost(null, null, false)}
{* Простая школьная арифметика *}
{$delta=$last_price-$single_price}
{$percent=round(($delta*100)/$last_price)}

<span class="{if $percent==10}green{elseif $percent==20}orange{else}red{/if}">-{$percent}%</span>

1,446

(6 ответов, оставленных в Вопросы по созданию тем оформления)

Забыл спросить, а адрес у Вас какой на который вы обращаетесь? У Вас там используется вывод блока? Или содержимого фронт контроллера?

1,447

(3 ответов, оставленных в Вопросы по работе с системой)

Мне нужно, что бы в иконке корзины выводилось количество товара в корзине.

Я думал, что если  static_call делать запрос на каждый товар, это сильно нагрузит страницу.
Я  ошибаюсь?

А что Вам мешает получить корзину выше чем перебираются товары? А внутри товара просто перебирать массив из товаров корзины.

1,448

(6 ответов, оставленных в Вопросы по созданию тем оформления)

А как я могу получить в ответе только результат формы, а не страницу полностью?

При обращении через AJAX наша система отвечает только частью страницы.


UPD: кажется разобрался) Но возник другой вопрос, ajax возвращает мне данные в unicode.

Так и должно быть т.к. все UTF-8. Как и положено. Но это не является проблемой, т.к. Ваш браузер всё преобразует сам пр получении ответа в переменной.

Сам ответ части странице хранится в секции html.

success: function(response) {
         console.log(response);
         console.log(response.html);
}

Код выше покажет в консоли FireBug что к чему.

1,449

(3 ответов, оставленных в Вопросы по работе с системой)

Отобразить количество товара в корзине да, а вот изменить количество у конкретного товара пока нет.
Т.к. при помещении в корзину ответный json не содержит информации какой именно товар в корзине. Хотя это можно сделать просто при клике на саму кнопку просто увеличив количество в теге.
Для того, чтобы получить текущую корзину, можно воспользоваться static_call функцией
https://readyscript.ru/dev-manual/dev_s … tatic_call

С помощью неё можно получить текущую корзину в шаблоне со списком товаров (list_product.tpl в Вашей теме).

{static_call var=cart callback=['\Shop\Model\Cart', 'currentCart']}

Появится переменная $cart в шаблоне у которой можно получить все товары.

{static_call var=cart callback=['\Shop\Model\Cart', 'currentCart']} {* Получаем корзину в переменную *}
{$cart_products=$cart->getProductItems()} {* Получение товаров в корзине *}
{* Смотрим что внутри *}
<pre>
{var_dump($cart_products)} 
</pre>

1,450

(21 ответов, оставленных в Вопросы по работе с системой)

Ясно. Ну тогда открываем файл по пути.
/templates/ВАША ТЕМА/moduleview/article/blocks/searchline/searchform.tpl
И меняем слово data-deftext на placeholder