Всего 125 335 комментариев

Василий Наумкин
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 не обработанным выводится!
Василий Наумкин
28 февраля 2013, 16:25
0
Юзай [[+content]], обрезать можно ellipse или своим фильтром. Но так медленнее, конечно.

Еще вариант — добавлять тег cut плагином перед сохранением тикета.
Василий Наумкин
28 февраля 2013, 16:24
0
Цена хранится в varchar — это я пошутил, конечно.

Исправляю, спасибо!
alex cernobai
28 февраля 2013, 16:23
0
чанк tpl.Tickets.list.row
<div class="content">	
[[+introtext:notempty=`[[+introtext]]
<a href="[[~[[+id]]]]#cut" class="btn read-more">[[%ticket_read_more?namespace=`tickets`]]</a>`]]
</div>
замени introtext на content, получится
<div class="content">
[[+content:notempty=`[[+content]]
<a href="[[~[[+id]]]]#cut" class="btn read-more">[[%ticket_read_more?namespace=`tickets`]]</a>`]]
</div>
учти, этот чанк исползуется по умолчанию для всех тикетов, поэтому для експиремнтов лучше работать с его копией
Алексей
28 февраля 2013, 16:01
0
Прочитал, спасибо за ссылку.

На моем сайте складывается ситуация, что большинство тикетов будет короткими, без использования cut, он там просто не нужен, обрезать нечего по сути. В итоге в списке тикетов только заголовки, а когда открываешь тикет — видишь всего то 1-2 предложения.
alex cernobai
28 февраля 2013, 15:55
0
Вообще, это отдельная тема с неуказанием cut. Есть 2 варианта — выводить весь документ или не выводить ничего, мне больше нравится второй вариант. Также, все жти изменения радикально ускоряют вывод списка тикетов в getResources и подобных сниппетах. Контент «по умолчанию» для новой секции тоже изменён — убрал &includeContent=1.
bezumkin.ru/sections/components/419/
Виталий Киреев
28 февраля 2013, 15:29
0
Скорость упала или загрузка процессора? :)
Там действительно есть Gallery и я заменил phpthumb на rezimgcrop, т.к. нужны просто превьюшки без всяких прибамбасов, а сниппет Gallery вызываю не стандартный, а самописный. Это уменьшило время загрузки, но процессор как жрался, так и продолжает. Еще из некешированного есть getPage под getResources, но там грузится достаточно быстро. На главной вообще все вызовы кешированные, одни вейфандеры и бредкрюмсы, а некоторые меню еще и в getCache обернуты, но даже не смог нагрузить через loadimpact.com — говорит не может создать правила.
Галич Сергей
28 февраля 2013, 15:19
0
вобщем, я попробовал в сниппете «msProducts»
по цене сделать фильтр,
$where['Data.price:>='] = 500;

весьма странную ситуацию наблюдаю, например есть товар ценой в 20 тыщ, он считается меньше чем просто 500,
а если выбрать тыщу как минимум, например, то больше)
по первой цифре чтоли считает?
это какая то особенность пдо-тулс? или просто баг минишопа, пока что?