Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #43
Павел Романов
19 мая 2022, 12:10
+1
Попробуйте у плагина CKEditor снять галку «Статичный».
Код самого плагина при этом, естественно, должен присутствовать.
Павел Романов
30 апреля 2022, 18:36
0
Скорее всего код, приведенный Вами не соответствует скрину, поскольку он подразумевает вывод формы оформления заказа (FormIt и shopOrderForm).

Нужно найти вызов Shopkeeper без формы заказа, проверить какой там используется набор параметров (тут у Вас [[!Shopkeeper3@ordercart]]), посмотреть какой чанк прописан там в cartTpl.
Поместите код кнопки оформления в нижней части этого чанка (под <! --tpl_separator -->) и удалите оттуда, где она сейчас выводится.
Павел Романов
07 апреля 2022, 19:29
0
Добавьте в вызов pdoResources параметр &outputSeparator=`, `
Павел Романов
07 апреля 2022, 18:58
0
Каждая категория — отдельный элемент и выводится чанком, указанным в &tpl.
Оформите его как угодно.
Павел Романов
25 марта 2022, 11:38
1
+1
Опции — массив. Название должно быть:
<input type="hidden" name="options[time]" value="***"  />
Павел Романов
25 марта 2022, 10:59
+2
Добавьте скрытую опцию товара с уникальным значением (текущее время, например).
Павел Романов
21 февраля 2022, 13:52
+1
Если pagetitle текущей страницы, то:
[[*parent:is=`23`:then=`[[*pagetitle]]`]]

Если родителя, то:
[[*parent:is=`23`:then=`[[#[[*parent]].pagetitle]]`]]
Павел Романов
12 января 2022, 16:12
0
Можно сделать единый &tpl и проверять ID пункта и выводить в зависимости от этого разное оформление.
К примеру:

<li>
    <a href="{$link}">{$menutitle}</a>
    {if $id == 5}
        // оформление для пункта с id=5
        <ul>{$wrapper}</ul>
    {elseif $id == 6}
        // оформление  для пункта с id=6
        <ul>{$wrapper}</ul>
    {elseif $id == 7}
        // оформление для пункта с id=7
        <ul>{$wrapper}</ul>
    {else}
        // оформление по умолчанию
        <ul>{$wrapper}</ul>
    {/if}
</li>
Павел Романов
30 декабря 2021, 14:27
+1
Есть системная настройка failed_login_attempts.
Павел Романов
01 декабря 2021, 18:43
0
Можно в GET передавать:
<a href="../all-info.html?id=[[+id]]">Подробнее</a>

И в вызове ловить (если pdoTools стоит):
[[!allInfo?
    &param=`allInfo`
    &table_id=[[!#GET.id]]
]]
Павел Романов
17 ноября 2021, 17:17
0
«Свой плагин» — имеется в виду тот, который обрабатывает $_POST['calc_price'].
Его повесить на msopOnAfterGetCost. Это собственное событие msOptionsPrice2, в котором можно подменить стоимость
Павел Романов
17 ноября 2021, 16:42
0
Так у Вас msOptionsPrice перебивает плагин — он же тоже на msOnBeforeAddToCart висит. Попробуйте поменять приоритет или повесить свой плагин на событие самого msOptionsPrice, например, на msopOnAfterGetCost.
Павел Романов
17 ноября 2021, 16:04
0
Код неправильный. Input — одинарный тег и его не нужно открывать/закрывать.
То есть именно так:
<input type="hidden" name="calc_price" value="" />

А в js через
$('input[name="calc_price"]').val(***);
Павел Романов
17 ноября 2021, 15:45
0
Где-то ошиблись. Это 100% работает )
Точно число приходит в поле? Без пробелов?
Павел Романов
17 ноября 2021, 14:55
0
Сделайте в форме кнопки скрытое поле, куда передавайте JS-ом рассчитанное калькулятором значение:
<input type="hidden" name="calc_price" value="" />

Сделайте плагин на событие msOnBeforeAddToCart, где ловите его и подменяйте цену товара:

if(is_numeric($_POST['calc_price'])){
    $product->set('price', $_POST['calc_price']);
}
Павел Романов
17 ноября 2021, 10:17
+1
В форму добавления товара добавьте текстовое поле с name=«options[имя_поля]»:
<form method="post" class="ms2_form">
    ...
    <input type="text" name="options[fieldname]" value=""/>
    ...
</form>

Его значение в корзине и письмах выводите так:
{$product.options.fieldname}
Павел Романов
21 октября 2021, 10:31
+2
Добавьте параметр:
&setMeta=`0`
В этом случае pdoPage не будет формировать canonical, но и мета-тегов со ссылками на предыдущую и следующую страницу также не будет.
Павел Романов
19 октября 2021, 10:48
0
Верно, он нужен только для Ajax-пагинации.
Павел Романов
19 октября 2021, 10:03
0
Вроде всегда был. Можно даже параметром ajaxElemRows переопределить ))