Интересно узнать о сайте bezumkin.ru

Василий, приветствую.

Очень нравится система блогов на твоем сайте. Хотелось бы реализовать что-либо подобное на одном из моих сайтов. Вообще по хорошему нужен порядочный форум на MODx Revo, но у тебя это практически оно и есть. Это какой-то написанный тобой компонент или что-то из доступных в репозитории MODx дополнений? Если не стратегическая тайна, поделись пожалуйста как это работает и из чего состоит, буду очень признателен)
Даниил
22 декабря 2013, 10:45
modx.pro
2
6 202
0

Комментарии: 90

    Даниил
    22 декабря 2013, 15:00
    0
    О, спасибо! Tickets давно знаю и даже уже использовал один раз, но не думал, что здесь тоже Tickets используется)))
      Василий Наумкин
      22 декабря 2013, 15:22
      0
      В подвале даже логотип =)

      У меня на сайте из чужих компонентов только Redirector и Ace.
      Даниил
      11 января 2014, 06:57
      0
      А как на счет правой колонки сайта? В частности интересуют виджеты «Читатель», «Поиск» и «Прямой эфир». Если правильно понимаю, в виджет «читатель» вытаскивается инфа через HybridAuth, «поиск» — это SimpleSearch, а «прямой эфир» это вызов какого-то сниппета относящегося к Tickets, или я ошибаюсь? В общем хотелось бы очень узнать как это все работает?
        Даниил
        11 января 2014, 07:01
        0
        Не, на счет поиска уже понял что ошибся, mSearch2 оказывается)) А какой вызов сниппета?
          Мордынский Николай
          11 января 2014, 08:53
          0
          Скорее всего Прямой эфир тупо pdoResorce с маленьким временем кеширования либо вообще без онного.
          RSS с твитера на коленке делается за 5 мин да и есть пакет который rss парсит.
          Личный кабинет скорее всего msOfice адаптация какая нибудь)))
            Василий Наумкин
            11 января 2014, 12:44
            0
            HybridAuth, mSearch2, прямой эфир — сниппет TicketLatest.
              Даниил
              11 января 2014, 12:57
              0
              «Следующая заметка» и «Предыдущая заметка» — это тоже TicketLatest?
        Даниил
        22 декабря 2013, 15:25
        0
        Блин, и правда) Никогда не заглядывал в подвал)) А вот Ace и у меня везде на сайтах, значительно ускоряет верстку, хорошая штука)
          Даниил
          12 января 2014, 11:37
          0
          Василий, я думаю у тебя на сайте можно в 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'});
          	}
          });
            Даниил
            12 января 2014, 11:50
            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');
                    }
            });
              Василий Наумкин
              12 января 2014, 16:01
              0
              Ты свой код вставь в консоль бразуера и примени.

              Потом поправь и еще раз примени.

              Потом посмотри, как работает.

              А уже потом предлагай.
                Даниил
                12 января 2014, 20:25
                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 + 600){
                        $('.right-sidebar').parent().css({'display': 'none'});
                        $('.rvfs-4').width(nomarginWidth);
                    } else {
                        $('.right-sidebar').parent().css({'display':'block'});
                        $('.rvfs-4').css('width','');
                    }
                });
                  Василий Наумкин
                  12 января 2014, 20:34
                  0
                  Добавил, спасибо!

                  Пока, правда, непонятно — лучше стало или нет. Но посмотрим в эксплуатации.
                    Даниил
                    12 января 2014, 20:54
                    0
                    Наверное еще стоит в строке
                    $('.rvfs-4').width(nomarginWidth);
                    Добавить -20, чтоб справа пространства чуть больше было, а то совсем прижато. Думаю так лучше будет выглядеть
                    $('.rvfs-4').width(nomarginWidth - 20);
                      Даниил
                      13 января 2014, 08:14
                      0
                      Еще небольшое дополнение. Не учел того, что блок с классом 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','');
                          }
                      });
                      Сергей
                      18 января 2014, 19:31
                      0
                      Считаю что хуже, этот скачек заставляет заново искать место где остановился(причем чем больше первые комментарии тем больше он будет), не стоит этот небольшой выигрыш в ширине того.
                        Даниил
                        18 января 2014, 22:49
                        0
                        Ну поправку на высоту контента тоже можно сделать) Зато это существенно уменьшает высоту страницы, что само по себе удобнее для поиска нужной информации, особенно в тех тикетах у которых больше 40-50 комментариев, да и по современным меркам такой функционал на сайте — это плюс, не 90-е же вроде уже))
                          Даниил
                          18 января 2014, 23:11
                          0
                          А еще открою секрет, при изменение размера шрифта (в правой колонке А- А А+) растягивание страницы отключается. Так что если совсем уж напрягает, ну бывает мало ли, можно изменить шрифт на единичку, на размере шрифта не на много скажется, а растягивание заблокируется.
                            Igor Churkin
                            22 января 2014, 01:29
                            0
                            Даниил, если вам не трудно, я так понимаю, что для вас это не сложно. Подскажите, как реализовать изменение размера шрифта. Так же в три кнопки, как здесь.
                              Даниил
                              22 января 2014, 09:06
                              0
                              Это JS плагин RV Font Size. Брать здесь github.com/ramonvictor/rv-jquery-fontsize/
                              Элементы управления и тот блок где будут изменяться размеры шрифтов прописываются в настройках плагина, сами размеры в CSS (также тут можно добавить и любой дочерний от твоего блока элемент отдельно).
                                Igor Churkin
                                22 января 2014, 09:48
                                0
                                Спасибо Даниил. Еще есть вопрос, терзающий мой мозг, это в hybridauth при авторизации появление статуса, мой например — читатель, при авторизации здесь. Не подсажете, как этот трюк исполняется?
                                  Даниил
                                  22 января 2014, 10:19
                                  0
                                  Насколько я понимаю это не статус, а просто статичный заголовок для раздела с настройками пользователя, он не изменяется и одинаков у всех на сайте.
                                  Даниил
                                  22 января 2014, 10:21
                                  0
                                  А вообще можно создать разные группы пользователей в админке, и через hybridauth авторизовывать кого куда надо (там можно в настройках указывать группу пользователя). В зависимости от группы и заголовок выводить.
                                  Igor Churkin
                                  22 января 2014, 11:42
                                  0
                                  Я примерное представление имею, что группе пользователей назначаешь заголовок, hybridauth установлен. А вот как сделать, чтобы эти заголовки появлялись при авторизации, а сам заголовок — Авторизация, скрывался? Если Вас не затруднит, подскажите пожалуйста.
                                  Даниил
                                  22 января 2014, 13:46
                                  0
                                  [[!+modx.user.id:memberof=`Users`:then=`Пользователь`:else=`Авторизация`]]
                                  Даниил
                                  22 января 2014, 13:49
                                  0
                                  Это если хотим какую-то конкретную группу узнать, если нужно просто узнать залогинен или нет, то достаточно так:
                                  [[!+modx.user.id:isloggedin:is=`1`:then=`Пользователь`:else=`Авторизация`]]
                                  Igor Churkin
                                  22 января 2014, 16:21
                                  0
                                  Даниил, спасибо! Класс, всё круто.
                                  Даниил
                                  22 января 2014, 17:45
                                  0
                                  Чем смогу всегда помогу)
                                  Igor Churkin
                                  11 февраля 2014, 14:42
                                  0
                                  Даниил, добрый день. Не могли бы вы подсказать, как реализовать вот такой вывод?
                                  ← Следующая заметка
                                  Сниппет в сниппете — возможно?
                                  Предыдущая заметка →
                                  Дополнительное поле в таблице заказы

                                  Дополнение установил, но знаний не хватает понять, как это у Василия сделано.
                                  Igor Churkin
                                  13 февраля 2014, 01:47
                                  0
                                  Даниил, вопрос я задал глупо. Выше нашел ответ — вопрос аналогичный моему, только задан был грамотно. Постараюсь разобраться.
                  alex cernobai
                  12 января 2014, 20:31
                  0
                  А, у тебя тут фиксированная ширина контента…
                  разве? пробывали сжимать браузер?
                    Даниил
                    12 января 2014, 20:47
                    0
                    Да, пробовал) Не совсем выразился верно, имел ввиду адаптивную верстку, когда ширина зависит от размера окна, но тем не менее имеет фиксированный размер в пикселях, а не width: 100%. Для скрипта при такой адаптивной верстке смысл получается тот же, что и при полностью фиксированной ширине, вот я и написал так изначально)
                Aртур Чикин
                12 января 2014, 21:43
                0
                Интересно Василий ты когда нибудь покажешь подробную статистику по пользователям? Зарегистрированных, активных, когда заходят, что смотрят и Тд и тп?
                  Василий Наумкин
                  12 января 2014, 21:53
                  0
                  А что, кто-то уже спрашивал?

                  Счетчик посещаемости в подвале сайта.
                    Aртур Чикин
                    12 января 2014, 21:57
                    0
                    Я спрашиваю) По пользователям там нет статистики)
                      Василий Наумкин
                      13 января 2014, 08:22
                      0
                      Мне реально лень считать. Одно время хотел где-то выводить графики посещаемости, но потом забил.
                      Всего зарегано 2000, активных юзеров не знаю как считать, но уникальных хостов в сутки около 700 стабильно. По выходным снижается до 400.

                      Лучший показатель активности — новые вопросы и комментарии, их и сам видишь сколько в день.

                        Александр Наумов
                        13 января 2014, 13:10
                        0
                        Василий, а у тебя не было желания сделать статистику такого плана:
                        • Самый комментируемый пост месяца.
                        • Самый просматриваемый пост месяца.
                        • Пользователь оставивший больше всего комментариев.
                        • И.т.д.
                        Думаю, что было бы забавно видеть такую статистику имелся бы игровой момент.
                          Василий Наумкин
                          13 января 2014, 13:12
                          0
                          Да я как то не люблю такие вещи, если честно.

                          Может и сделаю, когда-нибудь, после избранного и личных сообщений =)
                            Александр Наумов
                            13 января 2014, 13:31
                            0
                            А может тебе плагин платный такой сделать, еще добавив пункт:
                            • Пользователь больше всего провел времени на сайте.
                            Думаю такой плагин пользовался бы успехом у веб-мастеров, так как с его помощью админ мог бы отслеживать, а потом по итогам месяца поощрять своих посетителей за активность. Для сайта данный плагин дал бы плюсов в поведенческом факторе и позволял бы молодым сайтам быстрее сформировать комьюнити.
                              Василий Наумкин
                              13 января 2014, 13:36
                              0
                              Не представляю, как замерять время, проведенное на сайте.

                              Да и другой работы сейчас полно.
                              Виталий Греков
                              19 января 2014, 02:50
                              0
                              Может и сделаю, когда-нибудь, после избранного и личных сообщений =)
                              Очень жду, особенно избранное топиков и комментариев, а то устал уже от избранного в браузере
                            Aртур Чикин
                            11 февраля 2014, 16:18
                            0
                            Это еще не считая тех кто ходит с в включенным анонимизатором в АДблоке
                      Даниил
                      17 января 2014, 18:15
                      0
                      Новая няшная полоса прокрутки смотрю появилась^^ Или прост не замечал раньше)
                        Aртур Чикин
                        17 января 2014, 18:26
                        0
                        Ты о чем?! Я ничего не вижу…
                          Даниил
                          17 января 2014, 18:33
                          0
                          А не, рано обрадовался, это видимо просто Хром у меня обновился ::Sorry:: )
                      Даниил
                      18 января 2014, 16:25
                      0
                      Василий, подскажи пожалуйста какой у тебя вызов mSearch2 тут на сайте в блогах, с какими параметрами? Ибо поиск тут реально крут! ))
                        Даниил
                        20 января 2014, 13:26
                        0
                        Видимо все же информация под грифом «Top Secret» XD
                          Василий Наумкин
                          20 января 2014, 13:48
                          0
                          Да я и так всё рассказываю, осталось только админку открыть для посещений.

                          Должна же быть хоть какая-то тайна? Одно скажу точно — все компоненты работают в штатном режиме, без модификаций.
                            Даниил
                            20 января 2014, 14:47
                            0
                            Ну хоть это радует)

                            А вот на счет админки — на самом деле это было бы круто иметь под рукой демо-ресурс по Tickets (также как с MS2, чтоб также можно было в админку заходить). И если бы этот демо-ресурс имел такой же функционал как bezumkin.ru — это решило бы очень много возникающих вопросов по Tickets! И нам понятнее и тебя чуть меньше вопросами засыпали…
                        Igor Churkin
                        18 января 2014, 23:43
                        0
                        Здесь всё реально круто. Подскажите пожалуйста, как сделать скрытие окна комментов, чтобы открывалось по нажатию кнопки, как здесь. Зачитываюсь вашими решениями, той или иной задачи, большинство из вас для меня гении, остается только мечтать о таких знаниях.
                          Даниил
                          19 января 2014, 08:48
                          0
                          У кнопки поставьте
                          onclick="return Tickets.forms.comment();"
                          Код отвечающий за скрытие кнопки и отображение вместо нее формы ввода есть в стандартном функционале Tickets (в default.js).
                            Igor Churkin
                            19 января 2014, 12:07
                            0
                            Даниил, спасибо за ответ, но вы предлагаете как-раз наобород, мне хочется узнать, как скрыть форму ввода текста, а кнопку сделать видимой и при нажатии на неё чтобы открывалась форма ввода текста. здесь сделано именно так.
                              Василий Наумкин
                              19 января 2014, 13:17
                              0
                              Очень просто:
                              <form id="comment-form" action="" method="post" style="display:none;">
                                Igor Churkin
                                19 января 2014, 14:28
                                0
                                Спасибо Василий. Действительно просто.
                          Andrei D.
                          20 января 2014, 19:21
                          0
                          Василий, может сделать систему рейтинга комментариев на этом сайте? И чтобы репутация в профиле отображалась. Было бы ОЧЕНЬ здорово…
                            Aртур Чикин
                            20 января 2014, 19:44
                            0
                            Василий, может сделать систему рейтинга комментариев на этом сайте? И чтобы репутация в профиле отображалась. Было бы ОЧЕНЬ здорово…
                            Это тогда будет уже мутирование из блога в мини социальную сеть. Чего я думаю Василий не хочет. По этому придется ждать полноценного запуска modx.pro

                            Но так как Tikets периодически сравнивается с LiveStreet то такой функционал необходим. :)
                              Василий Наумкин
                              20 января 2014, 20:03
                              0
                              Нет, было бы не очень здорово.

                              Были бы обидки, выяснения кто кого и за что минусанул, и меренье пиписьками. Мне это не интересно.
                                Aliaksandr Katlou
                                20 января 2014, 20:42
                                0
                                Есть другой вариант. Сделать возможность добавлять посты или комментарии в избраное, как на хабре. Это будет своеобразный «рейтинг полезности» — чем больше людей в закладки добавило, тем пост или комент полезнее. Никаких кармавойн, и можно будет самые интересные посты фильтровать по количеству добавлений в закладки.

                                Ps оказывается выше уже предлагали)
                                Даниил
                                20 января 2014, 20:47
                                0
                                А для меренья пиписьками ЛС вот прям очень бы клево чтоб в Tickets появились)
                                  Даниил
                                  22 января 2014, 10:27
                                  0
                                  Минусование — да, лишнее. А вот кнопка «сказать спасибо» как на многих форумах возможно пригодилась бы. Количество сказанных пользователю «спасибо» можно было бы отображать под аватаркой. Новичек попавший сюда сразу бы понимал полезность каждого конкретного участника видя кол-во выраженных ему благодарностей.
                                Даниил
                                30 января 2014, 12:23
                                0
                                С поиском разобрался, сделал! Не могу только понять, Василий, как у тебя реализуются выпадающие подсказки на странице поиска?
                                Aртур Чикин
                                11 февраля 2014, 16:14
                                0
                                Василий как ты подсвечиваешь свое имя в комментарие красным?
                                Igor Churkin
                                14 февраля 2014, 22:15
                                0
                                Василий, подскажите пожалуйста. Хочу сделать как у вас — предыдущая статья, следующая статья ссылкой на ресурс, а само название ресурса не активным. И после заметки у вас идет дата публикации, имя пользователя и просмотры.
                                Как это сделать? Если конечно вам не составит труда, ответить. Мелочь для вас, время отнимает рабочее.
                                Не один день пытаюсь понять, как это сделать, но увы, туповат=)
                                Парни, может кто из вас подскажет?
                                  Aliaksandr Katlou
                                  14 февраля 2014, 22:30
                                  +1
                                  Как-то так:
                                  &tplNext
                                  <p class="link-prev">
                                  <a href="[[+link]]"> Следующая статья </a> → 
                                  <span>[[+menutitle:default=`[[+pagetitle]]`]]</span>
                                  </p>
                                  Если не понятно еще поясню.
                                    Igor Churkin
                                    15 февраля 2014, 00:41
                                    0
                                    Александр, спасибо за ответ. Не получилось ни чего:-(
                                    У меня такой код:
                                    [[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>`]]
                                    и он выводит:
                                    ← название публикации    название публикации →
                                    и наверх к родителю ↑
                                      Aliaksandr Katlou
                                      15 февраля 2014, 03:14
                                      +1
                                      Попробуй вот так:
                                      [[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>`]]
                                        Igor Churkin
                                        15 февраля 2014, 07:57
                                        0
                                        Александр, спасибо!
                                          Aliaksandr Katlou
                                          15 февраля 2014, 14:27
                                          0
                                          Сорри, уже в прострации писал ночью, Василий уже поправил — все INLINE нужноубрать и засунуть в чанки.
                                        Василий Наумкин
                                        15 февраля 2014, 07:04
                                        +1
                                        Условия в @INLINE чанках не работают.

                                        Задай нормальные чанки, или пропиши в наборе параметров.
                                      Василий Наумкин
                                      15 февраля 2014, 07:11
                                      +1
                                      Ссылки на соседей выводит pdoNeighbors. Вот мой набор параметров, можно импортировать.

                                      Информацию о тикете выводит TicketMeta, он появился в новых версиях Tickets.
                                        Igor Churkin
                                        15 февраля 2014, 07:58
                                        0
                                        Василий, спасибо вам за советы. И за ваш труд!
                                      Igor Churkin
                                      22 февраля 2014, 20:21
                                      0
                                      Василий, подскажите пожалуйста. Как вы картинки выставляете по центру?
                                      через uploadify заливаю, обрезаю, а они с левого края встают. fancybox подключен.
                                        Aртур Чикин
                                        22 февраля 2014, 21:05
                                        +1
                                        css для img

                                        .center {
                                          text-align: center;
                                        }
                                          Igor Churkin
                                          22 февраля 2014, 21:21
                                          0
                                          Артур спасибо, буду пробовать.
                                            Igor Churkin
                                            22 февраля 2014, 21:37
                                            0
                                            не хочет работать=( вот класс загружается для картинки в fancybox: class=«fancybox thumbnail center»
                                            но не встает она по центру.
                                        maxgmm
                                        21 декабря 2022, 06:09
                                        0
                                        нЕ РАБОТАЕТ в тикет коментариях РЕЙТИНГ И ИЗБРАНОЕ можете подсказать почему svoy.life/profile/
                                          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                          90