Вопросы
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();
}
} Tagmanager2 и пагинация
Настроил тагменеджер2 все работает. И пагинация тоже, но при переходе на вторую страницу пагинация пропадает но если обновить эту же страницу то появляется.
Так же при возвращении на 1ую страницу тоже пропадает пока не обновишь.
Как быть, куда копать?
вот больной: comosardinia-estate.com/nedvizhimost/
Так же при возвращении на 1ую страницу тоже пропадает пока не обновишь.
Как быть, куда копать?
вот больной: comosardinia-estate.com/nedvizhimost/
Свое значение в old_price
Подскажите как вывести свое значение в old_price на сайте
Что то не выходит. C ценой все нормально, а со старой проблемы
Или я что то делаю совсем не так?
Что то не выходит. C ценой все нормально, а со старой проблемы
Или я что то делаю совсем не так?
switch ($modx->event->name) {
case 'msOnGetProductPrice':
...
$values = & $modx->event->returnedValues;
$values['price'] = $pricemin; // Это правильно на сайте
$values['old_price'] = $pricemax; // А это нет
break;
... Extra Office: Randomly blocked users
Hi all,
I'm using the Extra Office along with minishop2.
Sometimes users are blocked without a reason. There are 0 failed logins.

The error log mentions sometimes entries like that
Any idea why this is happening?
Best
Fabian
I'm using the Extra Office along with minishop2.
Sometimes users are blocked without a reason. There are 0 failed logins.

The error log mentions sometimes entries like that
(ERROR @ /home/tabakfab/public_html/core/components/office/controllers/auth.class.php : 495) [Office] unable to login user ronald@xxxxyy.ch. Message: You are blocked by an administrator.But no administrator ever blocked a user.Any idea why this is happening?
Best
Fabian
Minishop2 и мультикатегории
Добрый день.
Хочу попросить помощи, чтобы толкнули в правильном направление.
Дано:
— minishop2
Структура категорий
Категория 1
— Под категория 1
— Товар 1
— Товар 2
— Под категория 2
— Товар 3
— Товар 4
Категория 2
— Под категория 1
— Товар 5
— Товар 6
— Под категория 2
— Товар 7
— Товар 8
Категория 3
-Товар 2
-Товар 7
Товар 2 и товар 7 прикреплены к категории 3
через мульти категории.
Что требуется:
На выходе требуется получить, при открытии категории 3 следующее:
Категория 1 — > Под категория 1
— товар 2
Категория 2 — > Под категория 2
— товар 7
Спасибо откликнувшимся.
Хочу попросить помощи, чтобы толкнули в правильном направление.
Дано:
— minishop2
Структура категорий
Категория 1
— Под категория 1
— Товар 1
— Товар 2
— Под категория 2
— Товар 3
— Товар 4
Категория 2
— Под категория 1
— Товар 5
— Товар 6
— Под категория 2
— Товар 7
— Товар 8
Категория 3
-Товар 2
-Товар 7
Товар 2 и товар 7 прикреплены к категории 3
через мульти категории.
Что требуется:
На выходе требуется получить, при открытии категории 3 следующее:
Категория 1 — > Под категория 1
— товар 2
Категория 2 — > Под категория 2
— товар 7
Спасибо откликнувшимся.
Индексация текста в файлах PDF
Добрый день! Не подскажете, возможна ли на MODX индексация и поиск в PDF файлах? Вроде бы это может сделать pdfparser, но я не сумел найти на него никакой документации…
Заранее благодарен!
Заранее благодарен!
Переезд
Переношу MODX c одного хостинга на другой, все сделал по инструкции, почистил кеш, отключил все сеансы. При установке на новый хостин, на втором шаге, сначала вылетает ошибка
Parse error: syntax error, unexpected '[' in /home/c/cx26191/public_html/core/components/clientconfig/model/clientconfig/clientconfig.class.php on line 90
Кусок кода с этой строкой
Если откатить установку назад, и повторить установку уже другая ошибка
Parse error: syntax error, unexpected '{' in /home/c/cx26191/public_html/core/config/config.inc.php on line 91
Кусок кода с этой строкой

При откате и повторе третий раз никакой ошибки, просто белый экран, подскажите в каком направлении хоть искать
Parse error: syntax error, unexpected '[' in /home/c/cx26191/public_html/core/components/clientconfig/model/clientconfig/clientconfig.class.php on line 90
Кусок кода с этой строкой

Если откатить установку назад, и повторить установку уже другая ошибка
Parse error: syntax error, unexpected '{' in /home/c/cx26191/public_html/core/config/config.inc.php on line 91
Кусок кода с этой строкой

При откате и повторе третий раз никакой ошибки, просто белый экран, подскажите в каком направлении хоть искать