Интересно узнать о сайте bezumkin.ru
Василий, приветствую.
Очень нравится система блогов на твоем сайте. Хотелось бы реализовать что-либо подобное на одном из моих сайтов. Вообще по хорошему нужен порядочный форум на MODx Revo, но у тебя это практически оно и есть. Это какой-то написанный тобой компонент или что-то из доступных в репозитории MODx дополнений? Если не стратегическая тайна, поделись пожалуйста как это работает и из чего состоит, буду очень признателен)
Очень нравится система блогов на твоем сайте. Хотелось бы реализовать что-либо подобное на одном из моих сайтов. Вообще по хорошему нужен порядочный форум на MODx Revo, но у тебя это практически оно и есть. Это какой-то написанный тобой компонент или что-то из доступных в репозитории MODx дополнений? Если не стратегическая тайна, поделись пожалуйста как это работает и из чего состоит, буду очень признателен)
Комментарии: 90
О, спасибо! Tickets давно знаю и даже уже использовал один раз, но не думал, что здесь тоже Tickets используется)))
В подвале даже логотип =)
У меня на сайте из чужих компонентов только Redirector и Ace.
У меня на сайте из чужих компонентов только Redirector и Ace.
А как на счет правой колонки сайта? В частности интересуют виджеты «Читатель», «Поиск» и «Прямой эфир». Если правильно понимаю, в виджет «читатель» вытаскивается инфа через HybridAuth, «поиск» — это SimpleSearch, а «прямой эфир» это вызов какого-то сниппета относящегося к Tickets, или я ошибаюсь? В общем хотелось бы очень узнать как это все работает?
Не, на счет поиска уже понял что ошибся, mSearch2 оказывается)) А какой вызов сниппета?
Скорее всего Прямой эфир тупо pdoResorce с маленьким временем кеширования либо вообще без онного.
RSS с твитера на коленке делается за 5 мин да и есть пакет который rss парсит.
Личный кабинет скорее всего msOfice адаптация какая нибудь)))
RSS с твитера на коленке делается за 5 мин да и есть пакет который rss парсит.
Личный кабинет скорее всего msOfice адаптация какая нибудь)))
HybridAuth, mSearch2, прямой эфир — сниппет TicketLatest.
«Следующая заметка» и «Предыдущая заметка» — это тоже TicketLatest?
Спасибо Николай, за путь истиный) И огромное спасибо как всегда Василию, мы все перед ним в неоплатном долгу)
На здоровье!
Блин, и правда) Никогда не заглядывал в подвал)) А вот Ace и у меня везде на сайтах, значительно ускоряет верстку, хорошая штука)
Василий, я думаю у тебя на сайте можно в JS вот это добавить, удобно будет для длинных страниц. Сделал только что у себя решил на всякий случай поделиться, вроде все просто, но вдруг заинтересует))
var widgetHeight = $('.right-sidebar').height();
var widgetTop = $('.right-sidebar').offset().top;
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > widgetHeight + widgetTop - 40){
$('.right-sidebar').parent().css({'display': 'none'});
} else {
$('.right-sidebar').parent().css({'display':'block'});
}
});
и квадратик прокрутки вверх тоже немного можно усовершенствовать, чтоб на футер не заезжал $(window).scroll(function(){
var footTop = $('footer').offset().top;
var scrollBottom = $(window).scrollTop() + $(window).height();
if(scrollBottom > footTop) {
$('.scrollup').css({'bottom': scrollBottom - footTop +1 + 'px'});
} else {
$('.scrollup').css({'bottom':'0'});
}
});
А, у тебя тут фиксированная ширина контента… Тогда по идее вот так работать должно:
var widgetHeight = $('.right-sidebar').height();
var widgetTop = $('.right-sidebar').offset().top;
var nomarginWidth = $(.nomargin).width();
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > widgetHeight + widgetTop){
$('.right-sidebar').parent().css({'display': 'none'});
$(.rvfs-4).width(nomarginWidth);
} else {
$('.right-sidebar').parent().css({'display':'block'});
$(.rvfs-4).css('width','auto');
}
});
Ты свой код вставь в консоль бразуера и примени.
Потом поправь и еще раз примени.
Потом посмотри, как работает.
А уже потом предлагай.
Потом поправь и еще раз примени.
Потом посмотри, как работает.
А уже потом предлагай.
Да, упустил пару деталей. Вот так точно все ОК, проверил!
var widgetHeight = $('.right-sidebar').height();
var widgetTop = $('.right-sidebar').offset().top;
var nomarginWidth = $('.nomargin').width();
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > widgetHeight + widgetTop + 600){
$('.right-sidebar').parent().css({'display': 'none'});
$('.rvfs-4').width(nomarginWidth);
} else {
$('.right-sidebar').parent().css({'display':'block'});
$('.rvfs-4').css('width','');
}
});
Добавил, спасибо!
Пока, правда, непонятно — лучше стало или нет. Но посмотрим в эксплуатации.
Пока, правда, непонятно — лучше стало или нет. Но посмотрим в эксплуатации.
Наверное еще стоит в строке
$('.rvfs-4').width(nomarginWidth);
Добавить -20, чтоб справа пространства чуть больше было, а то совсем прижато. Думаю так лучше будет выглядеть$('.rvfs-4').width(nomarginWidth - 20);
Еще небольшое дополнение. Не учел того, что блок с классом right-sidebar может оказаться разной высоты в разное время (например на вкладке «комментарии» одна высота содержимого, а на вкладке «публикации» другая). Также код теперь учитывает точно высоту фрейма твиттера, который подгружается уже после загрузки страницы. В общем поправь, дел на 10 секунд)) Код я проверил на твоем сайте — все норм! Исправленный код выглядит так:
var nomarginWidth = $('.nomargin').width();
var widgetTop = $('.right-sidebar').offset().top;
var widgetHeight = $('.right-sidebar').height();
function checkResize(){
var widgetHeightNew = $(".right-sidebar").height();
if (widgetHeightNew != widgetHeight && widgetHeightNew > 100) {
widgetHeight = widgetHeightNew;
}
}
setInterval(checkResize, 1000);
$(window).scroll(function(){
var scrollTop = $(window).scrollTop();
if(scrollTop > widgetHeight + widgetTop){
$('.right-sidebar').parent().css({'display': 'none'});
$('.rvfs-4').width(nomarginWidth - 30);
} else {
$('.right-sidebar').parent().css({'display':'block'});
$('.rvfs-4').css('width','');
}
});
Готово, спасибо!
Считаю что хуже, этот скачек заставляет заново искать место где остановился(причем чем больше первые комментарии тем больше он будет), не стоит этот небольшой выигрыш в ширине того.
Ну поправку на высоту контента тоже можно сделать) Зато это существенно уменьшает высоту страницы, что само по себе удобнее для поиска нужной информации, особенно в тех тикетах у которых больше 40-50 комментариев, да и по современным меркам такой функционал на сайте — это плюс, не 90-е же вроде уже))
А еще открою секрет, при изменение размера шрифта (в правой колонке А- А А+) растягивание страницы отключается. Так что если совсем уж напрягает, ну бывает мало ли, можно изменить шрифт на единичку, на размере шрифта не на много скажется, а растягивание заблокируется.
Даниил, если вам не трудно, я так понимаю, что для вас это не сложно. Подскажите, как реализовать изменение размера шрифта. Так же в три кнопки, как здесь.
Это JS плагин RV Font Size. Брать здесь github.com/ramonvictor/rv-jquery-fontsize/
Элементы управления и тот блок где будут изменяться размеры шрифтов прописываются в настройках плагина, сами размеры в CSS (также тут можно добавить и любой дочерний от твоего блока элемент отдельно).
Элементы управления и тот блок где будут изменяться размеры шрифтов прописываются в настройках плагина, сами размеры в CSS (также тут можно добавить и любой дочерний от твоего блока элемент отдельно).
Спасибо Даниил. Еще есть вопрос, терзающий мой мозг, это в hybridauth при авторизации появление статуса, мой например — читатель, при авторизации здесь. Не подсажете, как этот трюк исполняется?
Насколько я понимаю это не статус, а просто статичный заголовок для раздела с настройками пользователя, он не изменяется и одинаков у всех на сайте.
А вообще можно создать разные группы пользователей в админке, и через hybridauth авторизовывать кого куда надо (там можно в настройках указывать группу пользователя). В зависимости от группы и заголовок выводить.
Я примерное представление имею, что группе пользователей назначаешь заголовок, hybridauth установлен. А вот как сделать, чтобы эти заголовки появлялись при авторизации, а сам заголовок — Авторизация, скрывался? Если Вас не затруднит, подскажите пожалуйста.
[[!+modx.user.id:memberof=`Users`:then=`Пользователь`:else=`Авторизация`]]
Это если хотим какую-то конкретную группу узнать, если нужно просто узнать залогинен или нет, то достаточно так:
[[!+modx.user.id:isloggedin:is=`1`:then=`Пользователь`:else=`Авторизация`]]
Даниил, спасибо! Класс, всё круто.
Чем смогу всегда помогу)
Даниил, добрый день. Не могли бы вы подсказать, как реализовать вот такой вывод?
← Следующая заметка
Сниппет в сниппете — возможно?
Предыдущая заметка →
Дополнительное поле в таблице заказы
Дополнение установил, но знаний не хватает понять, как это у Василия сделано.
← Следующая заметка
Сниппет в сниппете — возможно?
Предыдущая заметка →
Дополнительное поле в таблице заказы
Дополнение установил, но знаний не хватает понять, как это у Василия сделано.
Даниил, вопрос я задал глупо. Выше нашел ответ — вопрос аналогичный моему, только задан был грамотно. Постараюсь разобраться.
А, у тебя тут фиксированная ширина контента…разве? пробывали сжимать браузер?
Да, пробовал) Не совсем выразился верно, имел ввиду адаптивную верстку, когда ширина зависит от размера окна, но тем не менее имеет фиксированный размер в пикселях, а не width: 100%. Для скрипта при такой адаптивной верстке смысл получается тот же, что и при полностью фиксированной ширине, вот я и написал так изначально)
Интересно Василий ты когда нибудь покажешь подробную статистику по пользователям? Зарегистрированных, активных, когда заходят, что смотрят и Тд и тп?
- Самый комментируемый пост месяца.
- Самый просматриваемый пост месяца.
- Пользователь оставивший больше всего комментариев.
- И.т.д.
- Пользователь больше всего провел времени на сайте.
А что, кто-то уже спрашивал?
Счетчик посещаемости в подвале сайта.
Счетчик посещаемости в подвале сайта.
Я спрашиваю) По пользователям там нет статистики)
Мне реально лень считать. Одно время хотел где-то выводить графики посещаемости, но потом забил.
Всего зарегано 2000, активных юзеров не знаю как считать, но уникальных хостов в сутки около 700 стабильно. По выходным снижается до 400.
Лучший показатель активности — новые вопросы и комментарии, их и сам видишь сколько в день.
Всего зарегано 2000, активных юзеров не знаю как считать, но уникальных хостов в сутки около 700 стабильно. По выходным снижается до 400.
Лучший показатель активности — новые вопросы и комментарии, их и сам видишь сколько в день.
Василий, а у тебя не было желания сделать статистику такого плана:
Да я как то не люблю такие вещи, если честно.
Может и сделаю, когда-нибудь, после избранного и личных сообщений =)
Может и сделаю, когда-нибудь, после избранного и личных сообщений =)
А может тебе плагин платный такой сделать, еще добавив пункт:
Не представляю, как замерять время, проведенное на сайте.
Да и другой работы сейчас полно.
Да и другой работы сейчас полно.
Может и сделаю, когда-нибудь, после избранного и личных сообщений =)Очень жду, особенно избранное топиков и комментариев, а то устал уже от избранного в браузере
Это еще не считая тех кто ходит с в включенным анонимизатором в АДблоке
Новая няшная полоса прокрутки смотрю появилась^^ Или прост не замечал раньше)
Ты о чем?! Я ничего не вижу…
А не, рано обрадовался, это видимо просто Хром у меня обновился ::Sorry:: )
Я так и подумал)
Василий, подскажи пожалуйста какой у тебя вызов mSearch2 тут на сайте в блогах, с какими параметрами? Ибо поиск тут реально крут! ))
Видимо все же информация под грифом «Top Secret» XD
Да я и так всё рассказываю, осталось только админку открыть для посещений.
Должна же быть хоть какая-то тайна? Одно скажу точно — все компоненты работают в штатном режиме, без модификаций.
Должна же быть хоть какая-то тайна? Одно скажу точно — все компоненты работают в штатном режиме, без модификаций.
Ну хоть это радует)
А вот на счет админки — на самом деле это было бы круто иметь под рукой демо-ресурс по Tickets (также как с MS2, чтоб также можно было в админку заходить). И если бы этот демо-ресурс имел такой же функционал как bezumkin.ru — это решило бы очень много возникающих вопросов по Tickets! И нам понятнее и тебя чуть меньше вопросами засыпали…
А вот на счет админки — на самом деле это было бы круто иметь под рукой демо-ресурс по Tickets (также как с MS2, чтоб также можно было в админку заходить). И если бы этот демо-ресурс имел такой же функционал как bezumkin.ru — это решило бы очень много возникающих вопросов по Tickets! И нам понятнее и тебя чуть меньше вопросами засыпали…
Здесь всё реально круто. Подскажите пожалуйста, как сделать скрытие окна комментов, чтобы открывалось по нажатию кнопки, как здесь. Зачитываюсь вашими решениями, той или иной задачи, большинство из вас для меня гении, остается только мечтать о таких знаниях.
У кнопки поставьте
onclick="return Tickets.forms.comment();"
Код отвечающий за скрытие кнопки и отображение вместо нее формы ввода есть в стандартном функционале Tickets (в default.js).
Даниил, спасибо за ответ, но вы предлагаете как-раз наобород, мне хочется узнать, как скрыть форму ввода текста, а кнопку сделать видимой и при нажатии на неё чтобы открывалась форма ввода текста. здесь сделано именно так.
Очень просто:
<form id="comment-form" action="" method="post" style="display:none;">
Спасибо Василий. Действительно просто.
Василий, может сделать систему рейтинга комментариев на этом сайте? И чтобы репутация в профиле отображалась. Было бы ОЧЕНЬ здорово…
Василий, может сделать систему рейтинга комментариев на этом сайте? И чтобы репутация в профиле отображалась. Было бы ОЧЕНЬ здорово…Это тогда будет уже мутирование из блога в мини социальную сеть. Чего я думаю Василий не хочет. По этому придется ждать полноценного запуска modx.pro
Но так как Tikets периодически сравнивается с LiveStreet то такой функционал необходим. :)
Нет, было бы не очень здорово.
Были бы обидки, выяснения кто кого и за что минусанул, и меренье пиписьками. Мне это не интересно.
Были бы обидки, выяснения кто кого и за что минусанул, и меренье пиписьками. Мне это не интересно.
Есть другой вариант. Сделать возможность добавлять посты или комментарии в избраное, как на хабре. Это будет своеобразный «рейтинг полезности» — чем больше людей в закладки добавило, тем пост или комент полезнее. Никаких кармавойн, и можно будет самые интересные посты фильтровать по количеству добавлений в закладки.
Ps оказывается выше уже предлагали)
Ps оказывается выше уже предлагали)
Избранное и личные сообщения в планах.
А для меренья пиписьками ЛС вот прям очень бы клево чтоб в Tickets появились)
Минусование — да, лишнее. А вот кнопка «сказать спасибо» как на многих форумах возможно пригодилась бы. Количество сказанных пользователю «спасибо» можно было бы отображать под аватаркой. Новичек попавший сюда сразу бы понимал полезность каждого конкретного участника видя кол-во выраженных ему благодарностей.
С поиском разобрался, сделал! Не могу только понять, Василий, как у тебя реализуются выпадающие подсказки на странице поиска?
Василий как ты подсвечиваешь свое имя в комментарие красным?
Класс «administrator» + css же )
Это понятно, но как выводится этот класс в чанке?
Чет я затупил и скапитанил)
&prepareSnippet
Василий, подскажите пожалуйста. Хочу сделать как у вас — предыдущая статья, следующая статья ссылкой на ресурс, а само название ресурса не активным. И после заметки у вас идет дата публикации, имя пользователя и просмотры.
Как это сделать? Если конечно вам не составит труда, ответить. Мелочь для вас, время отнимает рабочее.
Не один день пытаюсь понять, как это сделать, но увы, туповат=)
Парни, может кто из вас подскажет?
Как это сделать? Если конечно вам не составит труда, ответить. Мелочь для вас, время отнимает рабочее.
Не один день пытаюсь понять, как это сделать, но увы, туповат=)
Парни, может кто из вас подскажет?
Как-то так:
&tplNext
&tplNext
<p class="link-prev">
<a href="[[+link]]"> Следующая статья </a> →
<span>[[+menutitle:default=`[[+pagetitle]]`]]</span>
</p>
Если не понятно еще поясню.
Александр, спасибо за ответ. Не получилось ни чего:-(
У меня такой код:
← название публикации название публикации →
и наверх к родителю ↑
У меня такой код:
[[pdoNeighbors?
&tplWrapper=`@INLINE
<div class="neighbors">
<div class="row">
<span class="pull-left">
[[+next:default=`[[+up]]`]]
</span>
<span class="pull-right">
[[+prev:default=`[[+up]]`]]
</span>
</div>
</div>`]]
и он выводит: ← название публикации название публикации →
и наверх к родителю ↑
Попробуй вот так:
[[pdoNeighbors?
&tplNext=`<a href="[[+link]]"> Следующая статья </a> →
<span>[[+menutitle:default=`[[+pagetitle]]`]]</span> `
&tplPrev=`<a href="[[+link]]"> Предыдущая статья </a> ←
<span>[[+menutitle:default=`[[+pagetitle]]`]]</span> `
&tplWrapper=`@INLINE
<div class="neighbors">
<div class="row">
<span class="pull-left">
[[+next:default=`[[+up]]`]]
</span>
<span class="pull-right">
[[+prev:default=`[[+up]]`]]
</span>
</div>
</div>`]]
Александр, спасибо!
Сорри, уже в прострации писал ночью, Василий уже поправил — все INLINE нужноубрать и засунуть в чанки.
Условия в @INLINE чанках не работают.
Задай нормальные чанки, или пропиши в наборе параметров.
Задай нормальные чанки, или пропиши в наборе параметров.
Ссылки на соседей выводит pdoNeighbors. Вот мой набор параметров, можно импортировать.
Информацию о тикете выводит TicketMeta, он появился в новых версиях Tickets.
Информацию о тикете выводит TicketMeta, он появился в новых версиях Tickets.
Василий, спасибо вам за советы. И за ваш труд!
Василий, подскажите пожалуйста. Как вы картинки выставляете по центру?
через uploadify заливаю, обрезаю, а они с левого края встают. fancybox подключен.
через uploadify заливаю, обрезаю, а они с левого края встают. fancybox подключен.
css для img
.center {
text-align: center;
}
Артур спасибо, буду пробовать.
не хочет работать=( вот класс загружается для картинки в fancybox: class=«fancybox thumbnail center»
но не встает она по центру.
но не встает она по центру.
img.center {
display: block;
margin: auto;
}
Спасибо Василий.
нЕ РАБОТАЕТ в тикет коментариях РЕЙТИНГ И ИЗБРАНОЕ можете подсказать почему svoy.life/profile/
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.