Plugin Detector - каталог и рейтинг плагинов jQuery

Главные вкладки

Аватар пользователя petrovnn petrovnn 3 ноября 2011 в 11:42

Всем привет.

Последние полтора месяца в основном занимался разработкой нового проекта - Plugin Detector.

скриншот:

Идея проекта - помочь разработчику (менеджеру, заказчику) определиться с выбором плагина для сайта. Вторая задача - показать новые и интересные плагины jQuery, которых возможно многие еще не видели и не знают о их существовании. На сайте есть как новые креативные плагины, так и заезжаные «ветераны» плагиностроения, типа Tablesorter, Lava lamp menu, попапы и д.р.

Сайт задумывался как очень узкоспециализированный, но с качественными материалами и продуманными выборками.

Идеи реализованные на сайте не новы. Решения, показавшиеся мне уместными, взяты и адаптированы под конкретную задачу.

Технические детали:

Версия друпала - 7

Рецензии
Вместо модуля nodereview были использованы обычные комментарии d7, расширенные дополнительными полями CCK, благо теперь на семерке это сделать не проблема.

Скриншот формы добавления рецензии:

примечание. форма выглядит брутально, но это временно Smile

Модуль nodereview наверное, хороший, но первичная установка сразу показала, что работает он совсем не так как того требует изначально задуманный дизайн приложения. Его настройки не позволяли задать другую логику работы отзыва, а хакать модуль не хотелось.

Особенность рецензии в том, что пользователь может оставить только одну рецензию для плагина. Поэтому нужно было сделать ограничение кол-ва комментариев к ноде. Для того чтобы ограничить количество отзывов, пробовал использовать модуль Comment Limit, но он работал с ошибкой, запрещая редактировать отзыв (коммент). Модуль почему-то думал что нажимая кнопку сабмит (при редактировании коммента), пользователь пытается засабмитить второй коммент, и блокировал это действие. Его пришлось отключить и реализовать ограничение ручками.

Пока что комментариев на сайте нет. В будущем возможно сделаю (пока не уверен что они нужны). Т.к. обычные комменты уже заняты, нашел модуль commentfield, реализующий очень простые комменты (без древовидного обсуждения, без прикрепления полей и файлов к ним).

Голосования
Rate - голосование за ноду (up/down)
Поля в рецензиях с помощью CCK (Content Construction Kit), который в семерке в ядре (4 селекта для оценок и 3 текстовых поля)

скриншот CCK полей коммента (рецензии):

Сначала, голосование за ноду сделал на Fivestar. Звездочки меня уже утомили, их пихают везде с поводом, и без повода. Поэтому решил сделать что-то креативное, а-ля логотипы jquery вместо звездочек:

Однако в процессе последующей разработки было решено отказаться от логотипов jquery вместо звездочек, т.к. многие люди (дизайнеры, менеджеры и заказчики) просто не знают что это лого jquery и не способны не только оценить фишки, но что хуже - вообще теряются и не знают что делать с этим элементом. Звездочки я исключил, поэтому остался up/down, реализовал который я с помощью модуля rate.

С оценками в рецензиях все просто. При сохранении, удалении или редактировании комментария, вызываются соответствующие хуки (например hook_comment_insert), которые перехватывают системные действия, и привязывают к таким событиям мой произвольный код. Я сделал при вставлении и редактировании рецензии - вычисление общей оценки плагина. Сначала с помощью функции avg() в SQL запросе я узнаю среднее арифметическое для каждого критерия оценки (для всех рецензий, относящихся к одной ноде). Запрос выглядит примерно так:

SELECT avg(field_value)
FROM field_table INNER JOIN comment...

потом таким выражением узнаю общую оценку плагина: ( a + b + c + d ) / 4

Вот хуки, которые вызываются при добавлении рецензии (или изменении ее оценок)

<?php
function mymodule_comment_insert($comment) {
}

function 

mymodule_comment_delete($comment) {
}

function 

mymodule_comment_update($comment) {
}
?>

Похожие плагины
SQL запрос от xandeadx: http://xandeadx.ru/blog/drupal/234

Пользовательский ввод
Для оформления контента плагинов:
СKeditor (из wysiwyg) + One click upload + Image resize filter

Не используются (выключенные модули):
menu
block
locale
views

Так как я не использую модуль menu, чтобы выделять текущий пункт меню, сделал примитивную функцию:

<?php

function lcustom($alias$link_title ) {
        
    if(
$alias == arg(0)) {
        if(
$_GET['q'] == 'best' && isset($_GET['page'])){
            echo 
'<a href="/'.$alias.'">'.$link_title.'</a>';
    } else {
            echo 
$link_title;
        }    
    } else {
        echo 
'<a href="/'.$alias.'">'.$link_title.'</a>';
    } 
    
}
?>

Подобной функцией пользуюсь уже не на первом проекте. Вызов функции выглядит так:

<?php
<div class="fooerMenu">
    <
span><?php lcustom('submit''Предложить плагин'); ?></span>
    <span><?php lcustom('flagged''Помеченные ссылки'); ?></span>
    <span><?php lcustom('reviews''Рецензии'); ?></span>
</div>
?>

Хостинг
IT-patrol - просто летает. Отклик в 50 мс - это вещь. Сервак отрабатывает очень быстро. Особенно заметно внутри админки - на служебных страницах, предыдущий хост тупил.

jQuery
Чтобы воспользоваться файлом jQuery, который использует ядро друпала, удалось найти такое решение. Все скрипты jquery, написанные для сайта, нужно завернуть в такую конструкцию:

(function ($) {
...
})(jQuery);

Иначе эти скрипты не видят друпаловский jquery, а подключать еще один jquery показалось кощунственно. Интересно, что решение трудно было нагуглить, и в конечном итоге нашел его в исходниках друпаловских модулей.

jQuery, используемое в демках, в основном грузится с Google CDN

Дизайн
Делал сам. Готовые темы не использовались. Не всё в дизайне мне нравится. Есть вещи, которые сделаны грубо (например форма добавления рецензии или некоторые попапы), и они будут со временем исправлены. Есть вещи (дизайн, функционал), над которыми я много думал, несколько раз переделывал, но так и не достиг ощущения что они работают как надо. Постепенно буду подтачивать.

Кроссбраузерность
А нет ее. Плотно смотрю в хроме и фоксе, время от времени проверяю в опере. В ИЕ не смотрел, да в общем-то и не собираюсь. Данный сайт для разработчиков, а они не пользуются ИЕ (я надеюсь!). Во всяком случае, чтобы посмотреть работоспособность демки, можно скопировать ее адрес в ИЕ, и я считаю этого достаточным минимумом.

Флаги
Я не стал использовать модуль flag, хотя давно о нем знаю. Было проще написать один аякс-запрос, добавляющий ссылку в БД, чем связываться с многофункциональным модулем, который из коробки скорее всего не подойдет под мои задачи.

Авторизация
uLogin - рульная штучка, заработало сразу все как и хотел. Был сильно удивлен фактом работы из коробки, думал что минимум день придется потратить на вкуривание манов, и еще день на то чтобы настроить его под себя. А оказалось что установка заняла минут ну отсилы 10, а подкручивание под себя еще час-два.

Конечно, я фанат аватарок, но в данном случае аватарки мне кажутся лишними, т.к. будут отвлекать от самих рецензий и оценок. Поэтому я их не настраивал, не знаю насколько сложно.

При первой авторизации создается пользователь. Это мой первый сайт с авторизацией через соц. сети, поэтому ощущения необычные.

Друпаловскую регистрацию решил отключить вообще, чтобы не было путаницы в типах аккаунтов.

Для того чтобы показывать иконку социальной сети, через которую авторизован пользователь, я делаю так:


<?php if(strpos($user->init'_google')){ ?>
    <span class="Google" title="Вы вошли через Google аккаунт"></span>
<?php } else if (strpos($user->init'_vkontakte')){ ?>
    <span class="Vk" title="Вы вошли через аккаунт Вконтакте"></span>
...
?>

У меня есть далеко не все аккаунты, через которые можно авторизоваться в uLogin, поэтому я протестировал только некоторые способы авторизации. Если кто-то найдет баги в тех способах авторизации, которые я не тестировал, пожалуйста сообщите.

Да, еще пара моментов. Стандартный модуль для д7, который выложен на официальном сайте ulogin вставляет виджет авторизации только на странице авторизации (user/login, и наверное регистрации), однако совсем не сложно вставить этот виджет (по факту это iframe ) в любое место страницы. В модуле я строку с iframe (который выводит виджет авторизации на странице /user/register) закомментил.

Второй момент - редирект после авторизации. Из коробки, модуль ulogin после авторизации редиректит на главную, а если ты находишься на странице и уже хочешь что-то туда написать - это просто убивает. Поэтому чтобы сделать редирект на текущую страницу, (на которой пользователь нажал кнопку авторизации), пришлось немного подправить модуль. Если интересно что и как могу написать в комментах.

Кажись это все, что вспомнилось.

ВложениеРазмер
Иконка изображения screen.png69.67 КБ
Иконка изображения review_add_form.png7.72 КБ
Иконка изображения review_fields.png17.71 КБ
Иконка изображения fivestar.png5.95 КБ
Иконка изображения users_table.png34.31 КБ

Комментарии

Аватар пользователя sibero sibero 3 ноября 2011 в 16:25

"petrovnn" wrote:
При первой авторизации создается пользователь. Однако на его страницу анониму зайти нельзя, выдается сообщение об ошибке, например: http://plugindetector.com/users/nikolay-petrov и получается что это не полноценный юзер (т.к. использовать его профиль толком нельзя), и не аноним, а что-то среднее. Это мой первый сайт с авторизацией через соц. сети, поэтому ощущения необычные.

Анонимам похоже запрещен просмотр профилей в "разрешениях". Сам модуль создает полноценных пользователей.

Аватар пользователя petrovnn petrovnn 10 ноября 2015 в 11:47

"sibero777" wrote:
Анонимам похоже запрещен просмотр профилей в "разрешениях". Сам модуль создает полноценных пользователей.

Все верно. Действительно, галкой в правах можно управлять доступом к просмотру профиля. Но то что модуль создает полноценных пользователей... ну может и полноценных, но из коробки он не заполняет никаких полей:

У такого профиля нет пароля и нет адреса электронной почты. В таком виде мы не можем допускать юзеров к этому профилю, т.к. не можем изменить там ни почты, ни пароля.

Аватар пользователя sibero sibero 4 ноября 2011 в 12:34

"petrovnn" wrote:
У такого профиля нет пароля и нет адреса электронной почты. В таком виде мы не можем допускать юзеров к этому профилю, т.к. не можем изменить там ни почты, ни пароля.

Ulogin добавляет емаил, если поле емаил стоит как обязательное (по умолчанию). А после входа можно изменить и пароль и почту. Профиль полноценный

Аватар пользователя petrovnn petrovnn 4 ноября 2011 в 17:37

"sibero777" wrote:
после входа можно изменить и пароль и почту

Как я могу изменить пароль, если для его изменения нужно ввести текущий? А ведь у тех кто залогинился через соц сеть пароля нет. Ну и правда, если подумать, зачем мне пароль, если я уже авторизовался вконтакте, например. В этом вся идея подобной аутентификации. Насчет емейла не знаю, наверное его можно поменять теоретически, но в семерке чтобы сделать какие-либо изменения в профиле, нужно ввести текущий пароль... которого нет.

В шестерке ведь небыло обязательного ввода пароля при редактировании профиля, наверное вы на шестерке ulogin используете?

Аватар пользователя sibero sibero 5 ноября 2011 в 12:55

"petrovnn" wrote:
В шестерке ведь небыло обязательного ввода пароля при редактировании профиля, наверное вы на шестерке ulogin используете?

Да. Пароль в случае авторизации по openid лишнее, а вот емаил пригодится, как минимум для возможности подписаться на комментарии в какой то теме.

Аватар пользователя sibero sibero 5 ноября 2011 в 13:12

Хороший сайт, добавил в закладки. Для полноты картины не хватает информации, какие версии jquery поддерживает плагин.

Аватар пользователя petrovnn petrovnn 13 ноября 2011 в 5:37

Спасибо всем за слова поддержки!

Отвечу по порядку

"sibero777" wrote:
Для полноты картины не хватает информации, какие версии jquery поддерживает плагин

Поясните пожалуйста в каких случаях эта информация необходима. Желательно с реальными примерами из жизни.

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
Круто.
В хорошем западном стиле.
Если бы был ещё и на английском, цены бы не было.
Название домена тоже классное

Да, спасибо! Домен как раз намекает на скрытое намерение потягаться с буржуями в этой сфере, но... это отдельная работа и не только техническая, но и переводческая и маркетинговая (нужно пиариться на ихних сайтах).
Название придумал в питерском метро пока ехал с работы с блокнотом Smile

Последние обновления:

Поставил голосование в шапку по типу профессии, пока лидируют верстальщики Smile я, ну и еще какой-то аноним:
http://plugindetector.com/node/52/results

Апгрейдил страницу статистики, добавив круговые диаграммы, которые подсмотрел на хабре:
http://plugindetector.com/stats
Круг показывает соотношение голосов за и против. Это JS, который рисует диаграмму динамически в canvas.

Запустил раздел «сравнения»: http://plugindetector.com/compare
Таблица сравнения появляется не только в списке сравнений и на странице категории, но и на странице плагина, который учавствует в этом сравнении.

Работа по выявлению различий в характеристиках плагинов ну, скажем, не маленькая. Ведь я хочу не просто сравнить списки фич на официальных сайтах, но по возможности протестировать и сделать сравнение именно тех параметров, которые важны для разработчика (ну или менеджера который этим занимается).

Написал про то, что должно называться каруселями: http://plugindetector.com/category/carousel

Хотя последние комментаторы наверное многое уже видели.

Социальные кнопки - убрал JS, поставил ссылки (кроме г+), а то надоели эти бесконечные запросы к сторонним серверам (протрезветь помог сайт http://www.webpagetest.org/ )

Форму «предложить плагин» вместо отдельной страницы перенес в подвал.

Добавил раздел TO-DO http://plugindetector.com/todo

В общем, это практически вся функциональность, которую я хотел сделать. Дальше уже буду более плотно заниматься поиском плагинов и их публикацией.

Написал на джумло-форуме (прости Господи!) о сайте, потихоньку пишу письма начальникам разных питерских веб-студий. Скоро будет статья на хабре.

Аватар пользователя ZanaDLucTyc ZanaDLucTyc 13 ноября 2011 в 16:24

Спасибо. Подпишусь и в закладочки положу. Мало того, что сам сайт полезный и интересный - еще и реализацию не поленились описать. Smile

Аватар пользователя wiw wiw 14 ноября 2011 в 6:23

Вопрос по ulogin. Как именно хакнули его, что-бы он редиректил на ту же страницу где и был пользователь?
И как выводили в любом месте страницы?

Аватар пользователя petrovnn petrovnn 10 ноября 2015 в 11:47

Прикрепляю файл хакнутого модуля. Основная суть моих изменений:
1. закомментил вывод У-логина на странице регистрации,
2. если после логина, пользователь возвращается на сайт с параметром redirect, то редиректим его на УРЛ, точнее наверное URI, на котором пользователь был до логина

Чтобы вставить виджет в шаблон page.tpl.php (или node.tpl.php), я немного изменил строку, которая была в этом модуле изначально. Эту строку нужно вставить к примеру в page.tpl.php - самый простой вариант.

Аватар пользователя petrovnn petrovnn 20 ноября 2011 в 1:43

гы-гы, а я уже начал волноваться что БД друпал-ру капец.
Хорошо что нет!

Возможно многие уже видели,но на всякий случай запощу:

http://habrahabr.ru/blogs/jquery/132828/

Народ с хабры воспринял проект очень хорошо, я даже не ожидал.

В твиттере тоже все зашевелились

Аватар пользователя wiw wiw 20 ноября 2011 в 10:13

petrovnn рад возвращению дрюпал.ру Smile
И возвращаясь к вопросу о ulogin. Файл ulogin.module выдаёт 403 ошибку, но я ж залогинен. Может сможете передать через паблик папку dropbox или ещё какими путями

Аватар пользователя petrovnn petrovnn 20 ноября 2011 в 23:31

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
Вижу, что на Хабре ваш пост приняли очень хорошо. Поздравляю.

Спасибо!

"ii" wrote:
Почему именно  Rate, а не старый добрый  Vote Up/Down?

Несмотря на то, что в прошлом проекте (на д6) я использовал именно Vote Up/Down, и к нему привык; на детекторе использовал все-таки Rate потому что VUD даже в суровой бете нет на странице модуля (для семерки). Вообще она есть (если покопаться), какая-то очень DEV-версия, которая выдает фатальные ошибки, не совместимые с нормальной работой сайта.

"wiw" wrote:
И возвращаясь к вопросу о ulogin. Файл ulogin.module выдаёт 403 ошибку

Содержимое файла ulogin.module, с оф. сайта ulogin, но моими корректировками:


<?php
function ulogin_button() {
    
//return '<div><a href="#" id="uLogin"><img src="http://ulogin.ru/img/button.png" width=187 height=30 alt="МультиВход"/></a></div><script src="http://ulogin.ru/js/widget.js?display=window&fields=first_name,last_name,photo,email&optional=photo_big&redirect_uri=' . urlencode(url('ulogin/token', array('absolute' => true))) . '"></script>';
    //return '<div id="uLogin"></div><script src="http://ulogin.ru/js/widget.js?display=small&fields=first_name,last_name,photo&providers=google,yandex,twitter,vkontakte,facebook,odnoklassniki,mailru&hidden=livejournal,openid&redirect_uri=' . urlencode(url('ulogin/token', array('absolute' => true))) . '"></script>';
}
function 
ulogin_form_user_login_block_alter(&$form) {
    
$form['ulogin'] = array('#value' => ulogin_button(), '#markup' => ulogin_button());
}
function 
ulogin_form_user_register_alter(&$form) {
    
$form['ulogin'] = array('#value' => ulogin_button(), '#markup' => ulogin_button());
}
function 
ulogin_form_user_login_alter(&$form) {
    
$form['ulogin'] = array('#value' => ulogin_button(), '#markup' => ulogin_button());
}
function 
ulogin_menu() {
    return array(
'ulogin/token' => array('access callback' => true'page callback' => 'ulogin_token''type' => MENU_CALLBACK));
}
function 
ulogin_token() {
    
error_reporting(0);
    global 
$user;
    
$data drupal_http_request('http://ulogin.ru/token.php?token=' $_POST['token'] . '&host=' $_SERVER['HTTP_HOST']);
    
$data json_decode($data->datatrue);
    if (isset(
$data['uid'])) {
        if (
function_exists('file_save')) {
            
$photo drupal_http_request($data['photo_big'] ? $data['photo_big'] : $data['photo']);
            
$file file_save_data($photo->data'public://' 'ulogin_' $data['network'] . '_' $data['uid'] . '.jpg');
        }
        
$account user_external_load('ulogin_' $data['network'] . '_' $data['uid']);
        if (!
$account || $account->uid == 0) {
            try {
                
$account user_save(drupal_anonymous_user(), array('authname_ulogin' => 'ulogin_' $data['network'] . '_' $data['uid'], 'init' => 'ulogin_' $data['network'] . '_' $data['uid'], 'status' => 1'mail' => $data['email'], 'name' => $data['first_name'] . ' ' $data['last_name'], 'pass' => user_password(), 'picture' => $file->fid));
                if (!
$account) throw new Exception('');
            } catch (
Exception $e) {
                
$next true;
                
$i 0;
                while (
$next) {
                    
$i++;
                    try {
                        
$account user_save(drupal_anonymous_user(), array('authname_ulogin' => 'ulogin_' $data['network'] . '_' $data['uid'], 'init' => 'ulogin_' $data['network'] . '_' $data['uid'], 'status' => 1'mail' => $data['email'], 'name' => $data['first_name'] . ' ' $data['last_name'] . ' ' $i'pass' => user_password(), 'picture' => $file->fid));
                        if (!
$account) throw new Exception('');
                        
$next false;
                    } catch (
Exception $e) {}
                }                    
            }
            
user_set_authmaps($account, array("authname_ulogin" => 'ulogin_' $data['network'] . '_' $data['uid']));
        }
        
$user $account;
        
$form_state['uid'] = $account->uid;
        
user_login_submit(array(), $form_state);
    }
    
    
$redir_path = (string)$_GET['redirect'];
    
    
//drupal_goto($redir_path);
    
header'Location: http://plugindetector.com/'$redir_path );
}
?>
Аватар пользователя tarazingo tarazingo 21 ноября 2011 в 1:04

Спасибо большое за такой прекрасный ресурс!) Очень кстати и весьма полезно!) Особенно радует тег Drupal :D)
Вот только залогиниться через эту систему uLogin так и не смог! Клацаю на иконку вконтака, гугла, оно покрутиться(якобы грузиться) и дальше дела нет....пробовал в Chrome 15 и FireFox 8

Аватар пользователя petrovnn petrovnn 21 ноября 2011 в 1:33

"tarazingo" wrote:
Вот только залогиниться через эту систему uLogin так и не смог!

Да, действительно, сейчас попробовал войти под несколькими аккаунтами - тоже не заходит. Скорее всего это неполадки на сервере ulogin - это обратная сторона использования сторонних сервисов. Наверное завтра починят.

Аватар пользователя petrovnn petrovnn 24 ноября 2011 в 20:15

Логинзу пробовал давно как-то, что-то не получилось с ней, тогда опыта мало было. Перед запуском англоязычной версии попробую логинзу прикрутить, т.к. мне нужна максимальная надежность.

Ребята из ulogin не отвечают на мои вопросы, что в общем-то напрягает.

Кроме того, в твиттере логинзы было сообщение что улогин не безопасная авторизация, ну и частично это подтверждается как минимум сообщениями xandeadx, где он писал что вошел на чьем-то сайте под чужим ulogin аккаунтом. В общем ulogin это не окончательное решение, просто мне понравилось что он так легко интегрируется в сайт.

Аватар пользователя petrovnn petrovnn 16 февраля 2012 в 23:50

На сайте сейчас заморозил функционал и занимаюсь ловлей багов, переводом и приведением в приличный вид уже существующего функционала. Считаю что лучше функционала будет мало, но он будет сделан достойно. Нового функционала не будет довольно долгое время.

Знаю что многие запрашивали поиск (или фильтр по параметрам), но пока я не представляю как это должно выглядеть и по моему мнению еще не решены более важные задачи.

Кстати русская версия под вопросом. Имеется ввиду прежде всего контент. Интерфейс я переведу конечно на русский, но контент... еще буду думать. Английский все знают?

Насчет твиттера и гуглоплюса тот-же вопрос. Обязательно будет английский твиттер и английский гугло-плюс. Но вот насчет их русских аналогов я сильно сомневаюсь.

Пока что вариант №1 это не создавать отдельных английских каналов T, G+ а внезапно начать писать по английски в имеющихся русских. И RSS текущий основной тоже думаю сделать по-английски (сейчас на него 290 подписчиков - все русские).

Да, это будет жестоко и хардкорно, но других путей пока не вижу.

Однако в зависимости от комментариев буду рассматривать и другие варианты.

Причина закручивания гаек с русским языком очень проста. Я делаю этот проект один и пока (сайт не приносит прибыли) никто мне не помогает. А ресурсы мои сильно ограничены, и в первую очередь они должны быть брошены на создание новых демок.

Обещаю поначалу писать односложными короткими предложениями, так что должно быть понятно даже не очень знающим буржуйскую мову. Кстати я и сам английский знаю не очень хорошо (в школе и после нее учил немецкий), а сейчас вынужден подтягивать английский в срочном порядке. Гуглотранслейт моя правая рука Smile

Аватар пользователя petrovnn petrovnn 17 февраля 2012 в 17:28

с логинкой история такая. Разработчики сайта Навального поставили на свой новый сайт "Белый круг" (может слышали) ulogin http://feb26.ru/

Путиноиды в свою очередь решили атаковать ulogin чтобы препятствовать регистрации на сайте и участию таким образом в акции. Возможно сервер ulogin тупо слабее или на сайте белого круга по дефолту стояла защита от ддос, поэтому выбрали логин-провайдера в качестве мишени.

Ну и досталось всем сайтам которые сидят на ulogin. Разрабы ulogin видимо гордые, и не хотят платить за защиту от касперыча, как я понял хотят справиться своими силами.

https://twitter.com/#!/petrovnn

Аватар пользователя web09 web09 6 марта 2012 в 2:35

Сайт неплохой, но лично мне не понравилась реализация урлов (как раз этим заморачиваюсь и зашел посмотреть как люди делают)

http://plugindetector.com/category/effects
и с него переходим на
http://plugindetector.com/ball-pool
вместо
http://plugindetector.com/category/effects/ball-pool

Аватар пользователя marazmus marazmus 6 марта 2012 в 7:29

"web09" wrote:
http://plugindetector.com/category/effects
и с него переходим на
http://plugindetector.com/ball-pool
вместо
http://plugindetector.com/category/effects/ball-pool[/quote]

Один плагин может быть в нескольких категориях. По вашей схеме этот плагин будет доступен по нескольким урлам, что для ПС будет выглядеть как дублирование контента, а это плачевно отражается на позициях сайта в ПС. Если для некоммерческого сайта это еще можно пережить, то для интернет-магазина, например, будет чревато падением продаж и вашим увольнением.

Аватар пользователя petrovnn petrovnn 6 марта 2012 в 11:43

"web09" wrote:
http://plugindetector.com/category/effects
и с него переходим на
http://plugindetector.com/ball-pool
вместо
http://plugindetector.com/category/effects/ball-pool[/quote]

Во-первых как правильно заметил marazmus, у каждой ноды может быть несколько тэгов. Поэтому ставить в урл тэг - плохая идея. Категорию подставить можно, т.к. у меня нода может принадлежать только к одной категории. Но я так не сделал по своим причинам. Прежде всего для того, чтобы нужный урл можно было набрать самостоятельно, если мы знаем на страницу какого плагина хотим зайти. То есть категорию из урла я убрал не потому что я такой вредный (я впринципе с вами согласен), а для того чтобы максимально укоротить урл.

На других моих проектах сделано именно так как вы говорите

http://bestmaps.ru/goroda/sankt-peterburg

http://vzavitok.ru/colored-paper/cvetochnyy

Аватар пользователя web09 web09 6 марта 2012 в 13:27

"petrovnn" wrote:
На других моих проектах сделано именно так как вы говорите

Если не секрет, поделитесь реализацией таких урлов? Это ж на семерке последний сайт сделан?

P.S. По-поводу того что пользователь может по названию плагина набрать его вручную согласен, не подумал

Аватар пользователя petrovnn petrovnn 6 марта 2012 в 13:32

"web09" wrote:
P.S. По-поводу того что пользователь может по названию плагина набрать его вручную согласен, не подумал

И не только поэтому. По некоторым сведениям чем короче урл, тем больше он нравится поисковикам. Но возможно эта инфа уже устарела.

BestMaps - drupal 6
завиток - drupal 7

чтобы сделать красивые урлы, нужно зайти на страницу

/admin/config/search/path/patterns (drupal 7)

конечно, для этого должен быть включен модуль pathauto.

Аватар пользователя web09 web09 6 марта 2012 в 16:19

"petrovnn" wrote:
конечно, для этого должен быть включен модуль pathauto.

Спасибо, судя по всему я хотел больше чем можно было реализовать стандартным функционалом. Ситуация поправилась при помощи хаков и хуков.

P.S. Дизайн сайтов ваших с претензией на западные получается

Аватар пользователя petrovnn petrovnn 25 июня 2012 в 12:33

это правда, подзабил я на сайт. Отчасти это связано с низкой рентабельностью ресурса. Затрат чтобы создать новый плагин надо сделать дофига, а денег с него крайне мало по сравнению с другими проектами.

НО. После того как я переделаю bestmaps на Drupal 7 + новые фичи (тобишь сделаю новую версию с нуля), а потом реализую еще один пока секретный проект на семерке, после этого обещаю заняться детектором. Но будет это боюсь ближе к концу лета, ибо семейство кормить надо

UPD
С точки зрения денег, еще в самом начале я допустил ошибку и мне показалось что монетизировать сайт такого типа реально. Оно может и реально, но на это нужно очень много ресурсов, вкладывать много ресурсов в этот проект я пока не готов.

Аватар пользователя Cyber Cyber 25 июня 2012 в 13:18

"petrovnn" wrote:
Затрат чтобы создать новый плагин надо сделать дофига, а денег с него крайне мало

Смотря какой плагин. Если все по плану делать -- да, не выгодно. Проще писать маленькие примочки по потребностям( не совсем сниппеты, но далеко не плагины ). На объеме можно выехать, на качестве -- сложно.

Аватар пользователя petrovnn petrovnn 10 ноября 2015 в 11:49

Всем привет!

Есть хорошая новость - я вернулся к работе над проектом.

Многое собираюсь в проекте поменять. Кое-что уже успел сделать.

Например
- удалил рейтинг плагинов (было две стрелки модуля Rate, вверх/вниз)
- сделал раздел засабмиченных плагинов: http://plugindetector.com/ru/suggested

Раньше форма сабмита плагина была в подвале (для анонимов), и результаты сабмитов никому не были видны (кроме меня). Теперь сабмит плагина - это добавление ноды, и все юзеры смогут видеть список засабмиченных ссылок (раньше нельзя было смотреть предложенные плагины). Кроме того, теперь есть возможность добавить плагины в избранное (звездочка), потом добавлю звездочку для всех плагинов, а не только для предложенных.

Удаление рейтинга пока не окончательное - в базе данных все голоса остались, пока просто убрал виджет голосования. Если возражений не будет - удалю и данные голосований.

Вместо рейтинга будет количество добавлений "в избранное", ну и сами рецензии.

Посещаемость ресурса сейчас - немного меньше 200 чел/сутки.
Примерно такая посещаемость была на протяжении всех этих двух лет.
Единственное что менялось - география посетителей.
Если сначала подавляющее количество было - СНГ (Россия, Украина, Беларусь и др.), то сейчас в статистику ворвались такие страны как: США, Индия, Германия, Франция, Великобритания. Таким образом, около половины юзеров не-русскоговорящие

По языкам (из гугл аналитика):

Ну и конечно-же планирую возобновить публикацию плагинов

Какие будут идеи-предложения?

English version (short)

After two years of inactivity, I went back to work on the project.

Аватар пользователя petrovnn petrovnn 7 января 2014 в 22:57

Спасибо и на добром слове! Smile
был-бы я в питере пришел-бы на встречу сообщества поболтать... а то получилось, только уехал из питера - сразу там образовалось друпал сообщество