Вопросы
msDiscount не показывает скидки в нужном месте.
msDiscount выводит скидку [-30%] без оболчки html тегами, ломая дизайн.
Как вывести Проценты в нужном мне месте?
Стили и скрипт подключены, может еще что дописать надо?
Кроме того новая цена не показана.
Как вывести Проценты в нужном мне месте?
Стили и скрипт подключены, может еще что дописать надо?
Кроме того новая цена не показана.
Фильтрация Список (Множественный выбор) [[mFilter2]]
Подскажите пожалуйста как можно сделать фильтрацию по полю, где используется Список (Множественный выбор).
При добавлении поля в фильтрацию оно выводится так
При добавлении поля в фильтрацию оно выводится так
Как в tpl.Tickets.meta вывести аватар автора?
Как в tpl.Tickets.meta вывести аватар автора?
Вроде вопрос не сложный, но понять не могу
Вроде вопрос не сложный, но понять не могу
[[+avatar]]естественно выводит пустоту вместо адреса изображения TV (Список ресурсов), условие для поля "Where условие"
Всем добрый день.
Я пытаюсь составить условие для ТВ вида «Список ресурсов», которое позволит выводить во время редактирования материала только те ресурсы, которые совпадают по заголовку с редактируемым.
Вывод «влоб» работает:
А вот как составить универсальный запрос, чтобы система сама читала pagetitle текущего ресурса и сравнивала их с другими?
По-сути, я не могу понять, как обратиться к заголовку текущего ресурса и как обратиться к заголовку «остальных» ресурсов, через это условие?
Заранее спасибо за подсказку!
Я пытаюсь составить условие для ТВ вида «Список ресурсов», которое позволит выводить во время редактирования материала только те ресурсы, которые совпадают по заголовку с редактируемым.
Вывод «влоб» работает:
[{"pagetitle:LIKE":"Полное название ресурса"}]Выдает текущий ресурс и дублирующий.А вот как составить универсальный запрос, чтобы система сама читала pagetitle текущего ресурса и сравнивала их с другими?
По-сути, я не могу понять, как обратиться к заголовку текущего ресурса и как обратиться к заголовку «остальных» ресурсов, через это условие?
Заранее спасибо за подсказку!
StercSEO перестал работать редерект
Добрый день!
Перестал работать редерект через StercSEO, делали обновление modx до версии 2.6.5, в отчетах только это
Перестал работать редерект через StercSEO, делали обновление modx до версии 2.6.5, в отчетах только это
[2018-12-19 13:12:40] (ERROR @ /core/model/modx/modx.class.php : 990) `[[+resource]]` is not a valid integer and may not be passed to makeUrl()
[2018-12-19 13:12:40] (ERROR in resource 298 @ /core/model/modx/modparser.class.php : 1372) Bad link tag `[[~[[+resource]]]]` encounteredУже все передумал, решение найти не смог, может кто сталкивался с подобным, хостинг reg.ru Как вывести заголовок родителя родителя (прародителя)?
Есть структура:
Подскажите, пожалуйста, как это сделать?
- Автоцентр
--- Офисы
------ Офис №202Надо на странице «Офис №202» вывести pagetitle прародителя (Автоцентр), с помощь pdoTools.Подскажите, пожалуйста, как это сделать?
Дополнение AmoCRM и Formit
Купил данное дополнение, столкнулся с проблемой, но разработчик молчит как рыба об лёд.
Поэтому спрашиваю тут. У меня в форме только поля имя name и телефон phone. Имя передается в амо, а телефон нет. Подскажите, пожалуйста, как поправить, чтоб работало.
Поэтому спрашиваю тут. У меня в форме только поля имя name и телефон phone. Имя передается в амо, а телефон нет. Подскажите, пожалуйста, как поправить, чтоб работало.
Fenom в modx
Здравствуйте! Что-то не понимаю работу фенома.
Написал такую конструкцию:
Потом в телеграме мне посоветовали изменить настройки fenom в pdotools. Я изменил. Сейчас у меня такие:
screenshots.firefox.com/PxbQHlX5cyQapRvH/vogel-noot
В нескольких своих чанках и шаблонах, где вызываются инлайновые стили и скрипты, поставил пробелы до и после фигурных скобок. А также обернул их в теги {ignore} {/ignore}
В результате пустая страница выводится. И всё.
Кеш чистил.
Не понимаю, как сделать, чтобы нормально выводилось число, а не код.
Написал такую конструкцию:
{if 'mobile' | mobiledetect}
{var $limit = 5}
{/if}
{if 'standart' | mobiledetect}
{var $limit = 10}
{/if}
{$limit}выводится просто текстом.Потом в телеграме мне посоветовали изменить настройки fenom в pdotools. Я изменил. Сейчас у меня такие:
screenshots.firefox.com/PxbQHlX5cyQapRvH/vogel-noot
В нескольких своих чанках и шаблонах, где вызываются инлайновые стили и скрипты, поставил пробелы до и после фигурных скобок. А также обернул их в теги {ignore} {/ignore}
В результате пустая страница выводится. И всё.
Кеш чистил.
Не понимаю, как сделать, чтобы нормально выводилось число, а не код.
Помощь в правильном запросе или в более правильном решении
Здравствуйте! Не знаю поможет ли тут кто-то вообще в таком вопросе, но буду очень на это надеяться.
Перейду ближе к теме вопроса.
В общем есть у меня сайт, в нем есть вывод ресурсов, для примера — это каталог с играми, внутри этого каталога, есть дочерние ресурсы, т.е. сами игры, так вот, в каждой такой игре, есть MIGX поле, в которых указываются к примеру время проведения этой игры: думаю это не суть важно, но смысл надеюсь поняли, т.е. в каждой игре, есть список MIGX из времен его проведения.
Собственно вот в чем загвоздка, решил я для этого дела, сделать в админке некую сводную таблицу, ну для удобства скажем так. В этой таблице, должны выводится все времена к каждой игре, т.е. все списки из разных игр, должны быть выведены в одной таблице, но, соответственно там должно так же выводится и название ресурса (игры). Как это сделать правильно, ума не приложу, уже по разному пробовал, даже какие-то наброски кода не знаю что бросить, т.к. к какому-то конечному результату так и не пришел в итоге.
Перейду ближе к теме вопроса.
В общем есть у меня сайт, в нем есть вывод ресурсов, для примера — это каталог с играми, внутри этого каталога, есть дочерние ресурсы, т.е. сами игры, так вот, в каждой такой игре, есть MIGX поле, в которых указываются к примеру время проведения этой игры: думаю это не суть важно, но смысл надеюсь поняли, т.е. в каждой игре, есть список MIGX из времен его проведения.
Собственно вот в чем загвоздка, решил я для этого дела, сделать в админке некую сводную таблицу, ну для удобства скажем так. В этой таблице, должны выводится все времена к каждой игре, т.е. все списки из разных игр, должны быть выведены в одной таблице, но, соответственно там должно так же выводится и название ресурса (игры). Как это сделать правильно, ума не приложу, уже по разному пробовал, даже какие-то наброски кода не знаю что бросить, т.к. к какому-то конечному результату так и не пришел в итоге.
Как вывести ссылку на оплату на странице успешного заказа?
Здравствуйте. Хочу немного переделать логику оформления заказа. Мне нужно чтобы при выборе онлайн-оплаты не происходил редирект на платежный сервис сразу, а сначала был переход на страницу Спасибо за заказ. И уже на этой странице я бы выводил пользователю линк для оплаты.
Я так понимаю, что нужно расширить класс msOrderHandler для того, чтобы убрать редирект. Но вот каким образом в чанке tpl.msGetOrder вывести ссылку на оплату? Подскажете?
Решение:
Для того, чтобы при выборе любого способа оплаты не было редиректа на платёжную систему необходимо расширить класс заказа . Код нового класса:
Я так понимаю, что нужно расширить класс msOrderHandler для того, чтобы убрать редирект. Но вот каким образом в чанке tpl.msGetOrder вывести ссылку на оплату? Подскажете?
Решение:
Для того, чтобы при выборе любого способа оплаты не было редиректа на платёжную систему необходимо расширить класс заказа . Код нового класса:
<?php
if (!class_exists('msOrderInterface')) {
require_once MODX_CORE_PATH . 'components/minishop2/model/minishop2/msorderhandler.class.php';
}
class appOrderHandler extends msOrderHandler implements msOrderInterface
{
/** @var modX $modx */
public $modx;
/** @var miniShop2 $ms2 */
public $ms2;
/** @var array $config */
public $config;
/** @var array $order */
protected $order;
function __construct(miniShop2 & $ms2, array $config = [])
{
parent::__construct($ms2, $config);
//$this->modx->log(1, print_r('__construct', 1));
}
/**
* @param array $data
*
* @return array|string
*/
public function submit($data = [])
{
$response = $this->ms2->invokeEvent('msOnSubmitOrder', [
'data' => $data,
'order' => $this,
]);
if (!$response['success']) {
return $this->error($response['message']);
}
if (!empty($response['data']['data'])) {
$this->set($response['data']['data']);
}
$response = $this->getDeliveryRequiresFields();
if ($this->ms2->config['json_response']) {
$response = json_decode($response, true);
}
if (!$response['success']) {
return $this->error($response['message']);
}
$requires = $response['data']['requires'];
$errors = [];
foreach ($requires as $v) {
if (!empty($v) && empty($this->order[$v])) {
$errors[] = $v;
}
}
if (!empty($errors)) {
return $this->error('ms2_order_err_requires', $errors);
}
$user_id = $this->ms2->getCustomerId();
if (empty($user_id) || !is_int($user_id)) {
return $this->error(is_string($user_id) ? $user_id : 'ms2_err_user_nf');
}
$cart_status = $this->ms2->cart->status();
$delivery_cost = $this->getCost(false, true);
$cart_cost = $this->getCost(true, true) - $delivery_cost;
$createdon = date('Y-m-d H:i:s');
/** @var msOrder $order */
$order = $this->modx->newObject('msOrder');
$order->fromArray([
'user_id' => $user_id,
'createdon' => $createdon,
'num' => $this->getNum(),
'delivery' => $this->order['delivery'],
'payment' => $this->order['payment'],
'cart_cost' => $cart_cost,
'weight' => $cart_status['total_weight'],
'delivery_cost' => $delivery_cost,
'cost' => $cart_cost + $delivery_cost,
'status' => 0,
'context' => $this->ms2->config['ctx'],
]);
// Adding address
/** @var msOrderAddress $address */
$address = $this->modx->newObject('msOrderAddress');
$address->fromArray(array_merge($this->order, [
'user_id' => $user_id,
'createdon' => $createdon,
]));
$order->addOne($address);
// Adding products
$cart = $this->ms2->cart->get();
$products = [];
foreach ($cart as $v) {
if ($tmp = $this->modx->getObject('msProduct', ['id' => $v['id']])) {
$name = $tmp->get('pagetitle');
} else {
$name = '';
}
/** @var msOrderProduct $product */
$product = $this->modx->newObject('msOrderProduct');
$product->fromArray(array_merge($v, [
'product_id' => $v['id'],
'name' => $name,
'cost' => $v['price'] * $v['count'],
]));
$products[] = $product;
}
$order->addMany($products);
$response = $this->ms2->invokeEvent('msOnBeforeCreateOrder', [
'msOrder' => $order,
'order' => $this,
]);
if (!$response['success']) {
return $this->error($response['message']);
}
if ($order->save()) {
$response = $this->ms2->invokeEvent('msOnCreateOrder', [
'msOrder' => $order,
'order' => $this,
]);
if (!$response['success']) {
return $this->error($response['message']);
}
$this->ms2->cart->clean();
$this->clean();
if (empty($_SESSION['minishop2']['orders'])) {
$_SESSION['minishop2']['orders'] = [];
}
$_SESSION['minishop2']['orders'][] = $order->get('id');
// Trying to set status "new"
$response = $this->ms2->changeOrderStatus($order->get('id'), 1);
if ($response !== true) {
return $this->error($response, ['msorder' => $order->get('id')]);
} else {
if ($this->ms2->config['json_response']) {
return $this->success('', ['msorder' => $order->get('id')]);
} else {
$this->modx->sendRedirect(
$this->modx->context->makeUrl($this->modx->resource->id, ['msorder' => $response['data']['msorder']])
);
return $this->success();
}
}
}
return $this->error();
}
}