Andrey
Заработало так. Вдруг кто искать будет по чатику на тему commerce и 3.0
{!! $modx->runSnippet('Cart',
[
'instance' => 'products',
'tpl' => '@FILE: cart_row',
'ownerTPL' => '@FILE: cart_wrap',
'noneTPL' => '@FILE: cart_empty',
])
!!}
Где в плагине в настройке "Path to custom templates" стоит views/commerce/front/
Andrey
Михаил
да
Alexander
да
но ведь можно сам вызов прокинуть из контроллера во вьюху?
Alexander
а чанки ужо юзать штатные
Михаил
можно
Михаил
но зачем?
Михаил
это в любом случае выглядит костыльно, что так что эдак
Andrey
Но тогда мы так и так получаем нужду переключать голову с Блейд шаблонов на обычные. Или не
Михаил
Камиль
Alexander
Разве не работает?
ну так работает в режиме 1.4 о чем и речь. Чтобы уйти от таких вызовов {!! $modx->runSnippet('Cart',
Михаил
т.е.
1. продублировать шаблоны из папки front в папку views/commerce
2. указать папку views/commerce в настройках плагина
3. те шаблоны, которые меняем - делаем в блейде
Михаил
Alexander
Камиль
Камиль
И так
Alexander
И так
ну если перенатягивается то тада ладна
Alexander
Миша же сказал надо переписывать
Камиль
Или ты про режим апи какой нить?
Михаил
Alexander
Камиль
Andrey
Михаил
Andrey
Соотв. файл тоже cart_empty.blade.php
Михаил
а нас научи
use Illuminate\Support\Facades\Blade;
class AppServiceProvider extends ServiceProvider
{
public function boot() {
Blade::directive('run', function($args) {
return "<?php echo \$modx->runSnippet($args); ?>";
});
}
}
Alexander
Axenia
Grinyaha (1428.28) увеличил карму mnoskov (1680.33)
Andrey
{{ $data['hash'] }}
+ спасибо. {!! dump($data) !!} много интересного вытащил.
Ну и разрешите доебаться ещё до lang: а эти вещи как вытащить?
[%cart.no_items%]
Михаил
Ramil
Как проверить, что тв создана уже? Делаю через isset($modx->getTemplateVar('commercePrice','*',$id,1)["value"]), но возвращает 1, хотя в базе этой тв нет
Ramil
Или я костылю, когда тв создаю через insert в таблицу?)
Andrey
Костылите
Andrey
include_once(MODX_BASE_PATH."assets/lib/MODxAPI/modResource.php");
$doc = new modResource($modx);
$doc->edit(10);
$doc->set('tvname', 'xxxxx');
$id = $doc->save(false, true);
Ramil
$doc->set('tvname', 'xxxxx'); без doc->save работает?
Ramil
У меня плагин на onDocSave, зациклится, думаю
Andrey
Где-то нарушена логика чего-то)
Dmytro
Ramil
Возможно) Есть цена у родителя товара, и цена может быть так же задана задана товару, и чтобы передать в корзину, при сохранении страницы пишу в тв рассчитанную цену.
Andrey
Если прям хочется 1 запрос, то гуглите INSERT or UPDATE'
Dmytro
а, так тебя проверить тв у документа....
Dmytro
лучше написать select, и если пусто - insert
Dmytro
но и через modresource тоже можно. Он сам создает запись тв, если ее нету
Dmytro
Ramil
Буду select'ом значит проверять) Спасибо)
Aliaksandr
+
Тебя 200 раз одному и тому же учи - все равно не запоминаешь ))
Alexander
Aliaksandr
🙁не согалсен
https://github.com/webber12/start-evo3/blob/main/core/custom/packages/Main/src/MainServiceProvider.php#L41
Aliaksandr
Было уже и про @run и про @snippet
Aliaksandr
Но мне лично не нравится это в шаблон тыркать
Andrey
@mnoskov Трейси творит чудеса.
Накопал
{!! $DocLister->_customLang['cart.no_items'] !!}
Где cart.no_items любой языковой плейсхолдер из файлика.
Pathologic
это ты накопал плохое
Pathologic
$DocLister->getMsg('cart.no_items', 'kek')
Andrey
Черт, уже всё позакрывал
Pathologic
хотя Commerce может не учитывает до сих пор изменения
Andrey
Он языковой файл не схавал, т.к. язык был прибит в сниппете Cart
Andrey
Но потом дамп {{dump($DocLister) }} дал только это.
Pathologic
значит Михаил не допилил
Антон
Alexander
Am
О, сразу можно двоих блочить ((:
Anonymous🇺🇦
Axenia
AnonymousAleks (0) увеличил карму sysuev (333.18)
Дмитрий
привет всем)
можно ли как-то передать контент в переменную php?
Дмитрий
Дмитрий
задача заключается в том, чтобы определить примерное время на чтение статьи, но я не знаю, как можно передать контент в php и обработать его
Am
Доброго и Вам.
Думается мне, что мысль у Вас бежит впереди понимания что и как сделать. От этого и вопрос про "передать" выглядит странным.
Передать content в php на каком этапе желаете?
Am
Судя по скриншоту у Вас есть доступ в админку, а значит можно написать плагин на событие загрузки страницы и получить данные content из загружаемой страницы.
Дмитрий
Am
А как Вы решили задачу определения примерного времени на чтение статьи что осталось только передать content в php?
Andrey
А в чем проблема? Пишем сниппет, который считает количество символов в контенте и делит на 100. И этот сниппет возвращает число. Вот и все
Дмитрий
Дмитрий
и в переменную передавал контент с помощью get_content()
Andrey
Ну плюс минус так и есть)
Дмитрий
но как тут это можно реализовать - совсем пока мыслей нет, да и с modx пару дней как познакомился)
Am
Понятно.
Тогда в зависимости от версии 1.4 или 3.0 можно почитать про сниппеты или в 3.0 напрямую в контролере делать.