Максим

Максим

С нами с 24 июля 2014; Место в рейтинге пользователей: #255
Максим
13 ноября 2016, 08:23
0
Есть ли смысл делать еще такую проверку?
public function getObject($className, $criteria= null, $cacheFlag= true) {
        $instance= null;
        if ($criteria !== null) {
            $instance = $this->call($className, 'load', array(& $this, $className, $criteria, $cacheFlag));
        }
        return $instance instanceof $classname ? $instance : null;
    }
Максим
11 октября 2016, 13:04
+1
Вот так можно сделать ссылки типа sitename.ru/9:
$e = $modx->event;
if ($e->name == 'OnHandleRequest') {
    if (is_numeric($_GET['q'])) {
        $url = $modx->makeUrl($_GET['q'],'','','full');
        if (!empty($url)) $modx->sendRedirect($url,array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
    }
}
Максим
03 октября 2016, 15:51
+1
Способ реализации простой:
1. Пользователь создается заблокированным.
2. Админ удаляет блокировку.
3. Плагин на сохранение пользователя отправляет разблокированному пользователю письмо о том, что регистрация одобрена.
Максим
27 сентября 2016, 14:10
0
Можно еще ограничить доступные для выбора шаблоны через контроль доступа, чтобы пользователи меньше путались.
Максим
26 сентября 2016, 14:34
+1
Оба правы по-своему.

В первом случае нет смысла на каждый чих создавать шаблон. Например, у меня есть шаблон «Категория товаров», в котором выводятся товары категории. И есть страница «Специальные предложения», которая внешне ничем не отличается от страницы категории, зачем для нее заводить отдельный шаблон?

Во втором случае не получится использовать tv-параметры или плагины, которые привязаны к шаблону. Да и разбираться потом в куче условий тоже не очень. Хорошо если условия не сделаны на модификаторах, как нередко бывает.
Максим
14 сентября 2016, 18:41
0
Опции и картинки нужно создавать после того, как создан товар. Пример есть в скрипте для импорта.
Максим
12 сентября 2016, 23:55
+1
У меня тоже, но хочется без tplOuter и т.п. Я бы и сам сделал, загвоздка в статусе компонента.
Максим
12 сентября 2016, 22:31
+1
Вот это тоже лажа, я считаю:
<img src="[[phpthumbon? &input=`{$file['url']}` &options=`w=400&h=270&zc=1`]]" alt="[[+description]]" width="400" height="270"/>
Зачем смешивать синтаксис, если можно тут же использовать $_modx->runSnippet. Во-первых, это дает возможность манипулировать параметрами; во-вторых, можно возвращать из сниппетов массивы, а не строки.

Вообще, с переходом на Fenom Minishop стал только лучше, делать магазины быстрее и удобнее. Хорошо бы и до mFilter очередь дошла.
Максим
10 сентября 2016, 02:09
+1
В классе modUser есть метод addSessionContext, через него и авторизовывать.
Максим
08 сентября 2016, 20:03
0
При расширении наследуются блоки шаблона, а не блоки блоков (: Как-то так, не могу сформулировать правильно без разбора кода шаблонизатора. Лучше наверное задать этот вопрос разработчику на гитхабе.

А так, можно добавить код к блоку main вниз или к sidebar вверх. Или в content добавить пустой блок center и уже его менять.
Максим
08 сентября 2016, 18:07
0
Т.е. в блоке content я вношу нужные мне измения, но в нем есть блоки main и sidebar, которые трогать не надо, а надо просто унаследовать от первого шаблона. Можно так сделать?
Наверное можно, если расширять блоки без учета вложенности. Например, так:
{extends 'template:shablon_1'}
{block 'content'}
	<div>Текст 3</div>
	{parent}
{/block}
{block 'sidebar'}
    <div>Сайдбар 2</div>
    {parent}
{/block}
Максим
08 сентября 2016, 13:50
+1
Вот так нужно:
<html>
</html>
<head><title>Пример</title></head>
<body>
{block 'content'}
	{block 'main'}
		<div>Текст 1</div>
		<div>Текст 2</div>
	{/block}
	{block 'sidebar'}
		<div>Сайдбар</div>
	{/block}
{/block}
</body>
</html>

{extends 'template:shablon_1'}
{block 'main'}
	<div>Текст 1</div>
{/block}
Максим
01 сентября 2016, 16:29
+1
А оплату через WebMoney планируется вернуть когда-нибудь? А то иконка в футере висит, а по факту оплатить нельзя.
Максим
17 июля 2016, 21:34
0
В системных настройках параметр phpthumb_nooffsitelink_enabled.
Максим
17 июля 2016, 21:23
+2
src="{$files[0]['url']}"
Максим
16 июля 2016, 14:32
0
Опечатка, вместо $cart должно быть $status.
Максим
16 июля 2016, 14:19
3
+3
Проблему можно решить плагином, который запретит добавлять заказы с пустой корзиной:
<?php
$e = $modx->event;
if ($e->name == 'msOnSubmitOrder') {
    $status = $order->ms2->cart->status();
    if (!$cart['total_count']) {
        $e->output('Error');
    }
}
Максим
15 июля 2016, 17:07
+1
Вот запрос, которым можно выбрать максимум 3 первых картинки из каждой галереи:
SELECT `product_id`,`url` FROM (SELECT *, @rn := IF(@prev = `product_id`, @rn + 1, 1) AS rn, @prev := `product_id` FROM `modx_ms2_product_files` JOIN (SELECT @prev := NULL, @rn := 0) AS vars WHERE `parent`=0 ORDER BY `product_id` ASC, `rank` ASC) AS content WHERE rn <= 3
Максим
07 июля 2016, 19:36
+1
Давно заметил, в любом популярном сообществе рано или поздно заводятся фрики. Так что есть во всем этом и позитивный момент (: