Всего 122 914 комментариев

Василий Наумкин
29 сентября 2015, 17:20
+1
Лично я без особой необходимости ТВ стараюсь не использовать. Тем более, когда структура сайта сама по себе может быть фильтром.

Естественно, mFilter2 умеет работать с категориями и другими свойствам ресурсов. Вот здесь, например, трудится его старая версия — mamaboutique.ru/catalog/dlya-kormyashhix/, можно покликать.

ТВ параметров там, если я ничего не путаю, нет вообще. Всё через свойства товаров miniShop2 и собственный класс фильтрации.
Stan Ezersky
29 сентября 2015, 17:18
0
Потому что надо писать структуру на бумажке, а потом реализовывать, а не лепить второпях «спиппеты, плагины, чанки, дополнения».
Неправильная структура потом аукнется переделкой сайта, даже если он изначально крут во фронтенде.
Василий Наумкин
29 сентября 2015, 17:15
0
Ну значит пробуй как
{$_modx->getChunk($_pls['svg-icon']}
Смысл же в том, чтобы передать имя чанка.
Stan Ezersky
29 сентября 2015, 17:15
0
Если вы пишите о том, что сделали сайт, крутой, по вашему мнению, напишите, как вы его делали и какие нестандартные задачи решали. Какими способами и методами.

А то, что увидел, «много букаф ниасилил».

Сам сайт не понравился, UI/UX хромает. Не продуман. Как же так вышло, что даже маркетолог(!) это допустил?
Alexey T
29 сентября 2015, 17:14
0
{$_modx->getChunk($_modx->resource[\'svg-icon\'])}
Такой вызов у меня так и не заработал, как я только не пробовал, ни в INLINE, ни отдельным чанком,
пробовал вызывать просто значение ТВ, тоже не работает:
{$_modx->resource.svg-icon}
Значение можно вызвать как плейсхолдер:
{$_pls['svg-icon']}
В итоге в ТВ категории товара прописал значения такого вида: {$_modx->getChunk('lamp_icon')}
А по второму вопросу с old_price — все отлично работает.
Stan Ezersky
29 сентября 2015, 17:12
+1
Благодарю, за комментарий!
Учитывая цены, нам интересно, будет ли спрос :)
Илья Уткин
29 сентября 2015, 17:09
+2
Давно пора было, молодцы. Я думаю, спрос будет.
Денис
29 сентября 2015, 17:01
0
Нужно чтобы данные с форм и заказов при отправке пользователем вносились в crm. У AMO есть какой то api и скрипты
Stan Ezersky
29 сентября 2015, 16:58
+1
я так и не нашел, совместимо ли PDO Tools с mFilter или Tag Manager.
tagManager идеально работает только с getProducts. Для miniShop есть свои решения по фильтрации
Stan Ezersky
29 сентября 2015, 16:45
0
А почему не Debian выбрали?
Іван Клімчук
29 сентября 2015, 16:21
0
Опишите подробнее, какого рода нужна интеграция? Ну вы готовы в случае чего предоставить доступы к сайту и к CRM для разработки и тестирования? Есть мысли запросить доступы у самой AMO, но в таком случае никакие сроки не гарантируются.
dopeless
29 сентября 2015, 16:03
0
да я в extended не хотел писать, т.к. там будут в некоторых из опций ключи храниться. Тоесть значения надо будет из других таблиц тянуть в соответствии с ключами… неудобно будет, если оно все в джейсоне будет храниться… придется, видимо, разбираться с ClassExtender или чем-то в таком духе…
Сергей Шлоков
29 сентября 2015, 15:51
0
Таблица _user_settings используется для других целей. Тогда уж лучше _user_attributes через modUserProfile.
Записываем в базу
// объект нужного пользователя
$user = $modx->getObject('modUser', $id);
$properties = array(
...
}
$user->Profile->set('extended',$properties);
$user->save();
Получать из базы можно через объекты, а можно через newQuery()
$c = $modx->newQuery('modUser');
$c->innerJoin ('modUserProfile','Profile');
$c->where(array(
	'active' => true,
	'primary_group:!=' => 2,
));
$c->select(array(
    'modUser.id',
    'Profile.fullname',
    'Profile.email',
    'Profile.phone',
    'Profile.photo',
    'Profile.extended',
));
$c->sortby('Profile.fullname','ASC');
$c->prepare();
$c->stmt->execute();
$users = $c->stmt->fetchAll(PDO::FETCH_ASSOC);
В поле extended теперь хранятся новые данные в формате JSON.

А можно вот так
but1head
29 сентября 2015, 15:26
+1
Проглядел, ниже пример, он разбивает url на массив и ищет по последнему (т.е. алиасу). Тоже самое можно сделать и на /en/
Ruslan Butakov
29 сентября 2015, 15:22
+1
Дополнение от Никиты, если вы используете .html в своих URL

<?php
if ($modx->event->name == 'OnPageNotFound' && $modx->context->key != 'mgr' && $modx->context->key != 'web'){
    
    $alias = $modx->getOption('request_param_alias', null, 'alias', true);
    $request = &$_REQUEST[$alias];
    $tmp = explode('/', $request); // получаем ссылку
    $product_alias = str_replace(".html", "", end($tmp));
    $resource = $modx->getObject('modResource', array('alias' => $product_alias));
    
    print_r($resource->id); 
    
    
    
    if($resource){
        if($content) $resource->set('content', $content);
        $modx->resource = $resource;
		$modx->request->prepareResponse(); 
		exit();
    }

}
Павел Ширяев
29 сентября 2015, 13:48
0
ОК, буду копать msOrderHandler, спасибо.
Василий Наумкин
29 сентября 2015, 11:49
0
Есть подозрение, что где-то есть код json, который ломает Fenom
99% всех ошибок при работе вне чанков.

но отследить тоже проблематично, так как в логе вроде пишет ошибки, но где, в каком файле и строке — непонятно.
По другому никак не получается, ибо если файл не компилируется (не собирается) — то и смотреть ошибку негде. А сам Fenom работает уже с готовой страницей, про чанки и сниппеты, её подготавливающие, он не знает.

Так что просто открывай исходный код страницы и смотри, где так есть скобочки, похожие на JSON.
Іван Клімчук
29 сентября 2015, 11:35
0
Курс по Fenom не помешал бы, так как тема обширная, а вопросов много. У меня например почему-то не работает напрямую в шаблонах. В чанке все ок, работает, но вызов внутри шаблона не обрабатывается никак (выводит весь код как есть). Версии pdoTools последние, в настройках нужные галки стоят. Есть подозрение, что где-то есть код json, который ломает Fenom, но отследить тоже проблематично, так как в логе вроде пишет ошибки, но где, в какои файле и строке — непонятно.
Іван Клімчук
29 сентября 2015, 11:01
0
Не объект, а класс. Объектом будет каждая строка в таблице. Зануда-mode: off.