Всего 122 902 комментария

Вячеслав Новиков
01 марта 2013, 11:31
0
При вызове сниппета провайдеров соответствующих указал?
[[!HybridAuth? &providers=`Vkontakte,Yandex,Google,Facebook`]]
Ян Такушевич
01 марта 2013, 10:43
0
Я уже так и понял. Может быть в следующих версиях можно сделать это системной настройкой? Конечно если разделов несколько, то игра не стоит свеч. А вот если разделов десятки, или даже сотник, как в моем случае, то это очень даже удобно.
Василий Наумкин
01 марта 2013, 10:37
0
Это нестандартная функция, поэтому — только редактированием исходников Tickets.

При обновлении оно затрётся.
Ян Такушевич
01 марта 2013, 10:10
0
Я наверное не очень понятно вопрос сформулировал. Можно ли этот код заменить на вот такой:

<ul class="list">
[[!getPage@bootstrapPaging?
&element=`getTickets`
&tpl=`Tickets.list.row`
]]
</ul>
[[!+page.nav]]
Т.е. чтобы он появлялся по умолчанию при создании нового раздела.
Евгений
01 марта 2013, 08:55
0
Так работает при просмотре товара, но при работе с корзиной данные из TV не передаются.
Евгений
01 марта 2013, 08:46
0
Мне нужно изменить цену товара, взяв ее из TV, для определенной категории пользователей магазина в сниппите msGetPrice.
Большое спасибо за ответ!
Вот мой код:

if (!isset($modx->miniShop) || !is_object($modx->miniShop)) {
$modx->miniShop = $modx->getService('minishop','miniShop', $modx->getOption('core_path').'components/minishop/model/minishop/', $scriptProperties);
if (!($modx->miniShop instanceof miniShop)) return '';
}
// We have object resource - it is usual modResource object.
// Getting id of resource
$id = $resource->get('id');
// Getting properties of product
if (!$res = $modx->getObject('ModGoods', array('gid' => $id, 'wid' => $_SESSION['minishop']['warehouse']))) {return 0;}
if($modx->user->isMember('Оптовики')){
$opt_price = $_REQUEST['data']['wholesalePrice'];
//$res>getTVValue('wholesalePrice');
if(empty($opt_price)){
$price = $res->get('price');;
}
else{
$price = $opt_price;
}
}
else{
// Retrieving price
$price = $res->get('price');
}
LinkLib LinkLib
01 марта 2013, 08:25
0
Василий, Иван, огромное спасибо за помощь!
Заработало:)
Василий Наумкин
01 марта 2013, 05:26
0
Возможно, и ты не заметил, что я пользуюсь своими решениями сам.
Решения из репозитория, без отдельных исправлений лично для меня.

На моём сайте вход через ВК и Яндекс — работает. Делай выводы.
Иван Брежнев
01 марта 2013, 01:16
0
Кстати по поводу e.preventDefault(); есть такой момент, рекомендуют его в начале функции писать, т.к. если вдруг в скрипте во время выполнения всплывет ошибка, перехода по ссылке не будет, т.к. стандартное поведение мы уже сбросили.
Т.е. вот так
$(document).on('click', 'a.ajax_link', function(e) {
	e.preventDefault();
	var action = $(this).data('action');
	$.post(document.location.href, {action: action}, function(data) {
		alert('Запрос успешно выполнен');
		$('#result').html(data);
	})
})
Но так же можно использовать return false; в конце функции, потому что e.preventDefault(); не во всех браузерах правильно срабатывает
Антон ХайЭксель
01 марта 2013, 00:51
0
Спасибо, простенько, но именно то что нужно ;)
Иван Брежнев
01 марта 2013, 00:49
0
Получить TV текущего ресурса
$modx->resource->getTVValue('tv_name');
Покажите и расскажите более подробно что вам нужно
Иван Брежнев
01 марта 2013, 00:45
1
0
Я вот писал небольшой плугин для смены шаблона ресурса на лету, там есть описание как сделать чтобы при аякс запросе ресурсу назначался пустой шаблон modx.im/blog/triks/391.html
Acid Wave
01 марта 2013, 00:40
0
Ну примерно такой ответ я и ожидал.
Возможно Вы не заметили, но я привел кусочек того самого кода, который используется.
Это Ваш же чанк в котором только заменен твитер на вк.
Василий Наумкин
28 февраля 2013, 23:15
0
В сторону ошибок и опечаток.

У меня на сайте Яндекс и ВК вполне себе работают.
Василий Наумкин
28 февраля 2013, 23:13
0
Заметка написана давно и там не учтены кое-какие вещи. Например то, что функция click() вешается только один раз на все подходящие элементы — при загрузке страницы.

После появления, кажется jQuery 1.7 нужно использовать функцию on():
$(document).on('click', 'a.ajax_link', function(e) {
	var action = $(this).data('action');
	$.post(document.location.href, {action: action}, function(data) {
		alert('Запрос успешно выполнен');
		$('#result').html(data);
	})
	e.preventDefault();
})
При таком обработчике все ссылки будут проходить через него, независимо от их происхождения.
LinkLib LinkLib
28 февраля 2013, 22:53
0
Уважаемый Василий! Огромное спасибо за статью.
Со всем вроде разобрался, но, как водится, нашел куда упереться — прошу помощи:

При активации функции (ссылка class=«ajax_link»), возвращается список ссылок class=«ajax_link».
А они работать никак не хотят:( То есть все ссылки, которые были в момент первой загрузке страницы — работают, а новые — не хотят.

Не могли бы подсказать, что это может быть за болячка?

Заранее благодарен,
Дмитрий.
Василий Наумкин
28 февраля 2013, 17:31
0
Комментируй в шаблоне по одному все сниппеты\чанки и смотри на скорость загрузки страницы.
Рано или поздно должна резко уменьшиться.

Еще можно поглядеть в лог ошибок nginx — вдруг там что интересное, типа таймаутов на определённой странице?
Василий Наумкин
28 февраля 2013, 16:57
0
Никак.

Он выводится только если у категории нет контента.

Василий Наумкин
28 февраля 2013, 16:55
0
Вызывай в чанке jevix и проходи сам.

Я же говорил, что будет медленнее.

Алексей
28 февраля 2013, 16:32
0
Как то не совсем.
[[+content]] в чанке tpl.Tickets.list.row присутсвует и подставляется, но судя по всему Jevix по нему еще не прошелся.

По крайней мере тег video не обработанным выводится!