Полезности от SJen

от
до
Приветствую! Столкнулся у себя на проекте с проблемой "троллей". Не считаю, что удалять нехорошие комментарии администратором - это правильное решение. Поэтому позволил избавляться от плохих комментов самим посетителям портала. Для этого им нужно всего лишь поставить несколько минусов комментарию, после чего вместо его текста выводится "Неуместный комментарий".
+62
2.57K
День добрый. Давно планировал написать статью на эту тему и вот, буквально, вчера запустил на своем проекте обновленный вариант - результаты можно считать как минимум интересными. Начну сразу с результатов, а потом уже теория. Время открытия некоторых страниц: Главная страница сайта <!--Время генерации страницы: 0.0010 сек.(0 запросов)--> Страница рубрики <!--Время генерации страницы: 0.0014 сек.(0 запросов)--> Открытая статья <!--Время генерации страницы: 0.0010 сек.(0 запросов)--> Список пользователей (/users) <!--Время генерации страницы: 0.0009 сек.(0 запросов)-->
+64
8.68K
Приветствую! Сегодня в мире отмечается Всемирный день книг и авторского права (подробности тут). В связи с чем хочу поделиться одной из своих разработок по внедрению аякса на сайты InstantCMS.
+118
2.36K
День добрый! Работаю над очередной версией своей чудо системы и хотел бы поднять для обсуждения несколько вопросов, чтобы выбрать наиболее удачное решение. И заодно показать несколько изменений, которые уже можно увидеть на тестовом сайте.
+30
3.93K
Приветствую! С некоторой задержкой готов предоставить очередную версию "системы переписки". В нее вошли как исправление всех озвученных багов, так и добавление порции нового функционала.
+48
2.91K
Приветствую! С момента написания предыдущего поста, посвященного подготовке к релизу прошло меньше недели - за это время полностью переработан дизайн (СПАСИБО yuri за отличный вариант шаблона) и исправлено некоторое количество багов, найденных при тестировании системы на своем проекте. Дизайн стал резиновым - растягивается исходя из размеров экрана пользователя.
+49
2.79K
Здравствуйте! Сразу прошу прощения за свое столь долгое отсутствие - оффлайн жизнь внесла свои коррективы в мои интернет планы. На этой неделе постараюсь разобраться со всеми незаконченными делами, что я вынужденно отложил (оптимизиция и тд). До личных сообщений доберусь сегодня ночью, еще не читал. Система сообщений - это один из тех проектов, который тоже немного затянулся. Но причина скорее в том, что хотелось сделать что-то реально шикарное и интересное - а не просто "что-то такое и лишь бы работало". Вторая причина в том, что для "себя" я, конечно, мог сделать и попроще, и не такое функциональное. Но, учитывая, что этого творения ждал не только я - хотелось сделать что-то универсальное и многофункциональное.
+30
2.18K
Сразу скажу, что решил сделать это решение платным - времени потрачено немало, но результат того стоит В этом пакете убрана пагинация для: 1. списка клубов (/clubs) 2. списка записей блогов (общего списка и конкретного блога) (/blogs и /blogs/user) 3. списка пользователей (при любой сортировке) (/users) 4. стены клуба и стены пользователя (users/sjen и clubs/15 ) 5. в "Ленте активности" - модуле и компоненте (/actions) 6. В Компоненте InstantVideo 1.52 a) страница /video (по любой сортировке) б) страница рубрики /video/music, по любым сортировкам и фильтрам в) страница канала /video/channel/sjen.html
+25
2.01K
Покопался немного в коде, вот что получилось. Нужно добавить php код в файл шаблона template.php, в самый верх (рядом с другим php кодом) $where = $_SERVER["REQUEST_URI"]; // адрес текущей страницы $q = strpos($where,'?'); // позиция символа "?" if ($q){ $canonical = substr($where,0,$q); //если страница с параметрами - отрезаем их }else{ $canonical = $where; } if ($canonical=='/'){$canonical='';} //если главная, убираем слэщ в конце elseif ($canonical=='/index.php') {$canonical='';} //если главная, убираем index.php $canonical = 'http://'.$_SERVER['HTTP_HOST'].$canonical...
+58
5.16K
Тема навеяна топиком Миноны. До canonical я еще не добрался и сомневаюсь, что можно их сделать, не перелопатив все компоненты. Так что предлагаю вариант, который озвучил soxom - 301 редирект.
+18
2.3K
Приветствую. Выкладываю финальную версию плагина для отправки сообщений посредством аякса. Оформить это в формате плагина решил для того, чтобы максимально упростить его установку и в случае чего было бы так же просто его отключить. Из особенностей могу выделить отправку сообщения через Enter либо Ctrl+Enter. Комбинацию выбирает сам пользователь и она запоминается для последующих сообщений (в cookies).
+63
3.6K
Приветствую! Решил сделать небольшой перерыв в разработке супер навороченной системы сообщений (смотреть тут) и заодно заработать на пиво к завтрашнему мега матчу Реал - ЦСКА (среда, 23:45 по Москве). Этот пост является продолжением темы избавления от пагинации (начало положила "Лента событий"). Разработка проверялась на версиях Инстанта 1.8-1.9. Учитывая предыдущий опыт, сделал сразу две версии: 1. "Как вконтакте" - стена подгружается сама по мере прокручивания страницы вниз. 2. С кнопкой "Показать еще" - само ничего не грузится, нужно нажать на кнопку и более...
+32
1.98K
Приветствую! Занимаюсь сейчас разработкой удобного и современного сервиса для общения посетителей (в данном случае через личные сообщения). Есть уже некоторые результаты, но до законченной версии пока далеко. И вот на этом этапе хотел бы пригласить всех желающих высказать свои пожелания и мысли. Может быть что-то я упустил или нужно добавить что-то кардинально новое.
+58
4.15K
Хочу немного рассказать про технологию FullAjax и ее применении на сайте под ICMS. Глубоко в теорию уходить не буду, расскажу в общих чертах. Кому будет интересны подробности - спрашивайте в комментах.
+49
2.77K
По просьбам установивших себе ленту "как вконтакте" сделал еще один вариант. Лента активности не подгружается автоматически - внизу есть кнопка "Показать еще" и события в ленту подгружаются по нажатию на эту кнопку. Все так же на аяксе и очень быстро. Скачать можно тут. Инструкция: 1. файлы com_actions_view.tpl и com_actions_view_ajax.tpl положить в папку /templates/_default_/components/ (для добавление кнопки в компоненте) 2. файл mod_actions.tpl положить в папку /templates/_default_/modules (для добавления кнопки в модуле) Первый пост с описанием полной версии - тут
+37
3.85K
Выкладываю тут доработку плагина и одно исправление в хаке. Пост интересен в первую очередь тем, кто уже внедрил данные доработки.
+38
1.95K
Приветствую! Пагинация в любом виде меня уже давно напрягала - даже если страницы и подгружаются на аяксе. Все-равно неудобно - надо кликать на следующую страницу, а иногда и возвращаться на предыдущие - много лишних действий, а люди же по природе своей ленивые. Суть доработки в том, что при прокрутке ленты активности (в модуле либо в компоненте) события подгружаются сами через аякс. От посетителя требуется лишь прокручивать колесико мышки. Важно: Тестировалось на версии 1.9. Про работу в более старых ничего сказать не могу.
+49
3.04K
Добрый день! Сегодня с утра решил заняться оптимизацией запросов и обнаружил такую штуку - при выводе комментариев делается N запросов к БД(по количеству комментов) на предмет оценки комментария текущим пользователем. То есть если в статье 30 комментариев - то делается 30 запросов ,чтобы проверить оценивали вы его или нет, что не есть хорошо. Данный хак (для версии инстанта 1.9) модифицирует запрос по получению комментариев и позволяет избавиться от ненужных N запросов. Сразу скажу - не пугайтесь, что "много букав" - меняется всего 4 строки (две добавить и две изменить). ВАЖНО: перед правкой обязательно сделайте копии файлов components/comments/model.php и components/comments/frontend.php
+49
3K
Приветствую! Продолжу тему аякса на сайте рассмотрением одного очень популярного модуля - "Кто онлайн?". Модуль популярный, но очень не оптимизированный. А вы знаете как он работает? - если кратко, то вот: 1. Получает авторизованных посетителей онлайн (1 запрос) 1а Проверяет каждого на принадлежность к администраторам (N запросов, по количеству посетителей) 1б Проверяет не админов на принадлежность к редакторам (N-a запросов, где а - количество админов) 2 Считает гостей онлайн (1 запрос) 3 Считает авторизованных посетителей за сегодня (1 запрос) 3а Проверяет каждого на принадлежность к администраторам (M запросов, по количеству посетителей) 3б Проверяет не админов на принадлежность к редакторам (M-b запросов, где b - количество админов)
+62
2.67K
Приветствую! В качестве первой записи в моем молодом блоге хочу поделиться плагином, который обновляет "Меню пользователя", а именно поле "Сообщения". Описание: На странице создается таймер, который с заданным интервалом спрашивает у сервера о наличии новых сообщений. Плагин оптимизирован под высокие нагрузки - в нем вообще не используются функции и классы движка. Всего один простой запрос для получения количества новых сообщений. Период обновления и класс объекта, внутри которого лежит поле "Сообщения" настраиваются из админки. По умолчанию период равен 15 секундам, класс объекта = "my_messages".
+65
2.67K
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.