<rmcreative>

RSS

Yii Iconized Menu

22 сентября 2010

Решил поделиться довольно удобным виджетом для Yii, позволяющим выводить меню с значками слева. В данный момент при помощи него реализованы секции «Интересное» и «Друзья» справа →

Пользоваться им очень просто:

<?$this->widget('ext.yiiext.widgets.iconizedMenu.EIconizedMenu',array(
    // Раскомментируйте для использования Яндекс вместо Google
    //'iconizerBaseUrl' => 'http://favicon.yandex.ru/favicon/',
    'items'=>array(
        array('label'=>'Yii Framework', 'url'=> 'http://yiiframework.com/'),
        array('label'=>'RMCreative', 'url'=> 'http://rmcreative.ru/'),
        array('label'=>'Twitter', 'url'=> 'http://twitter.com/'),
    ),
))?>

Реализация на самом деле очень проста и сводится к использованию соответствующих сервисов Google или Яндекс, который, кстати, умеет собирать значки в спрайт. Также можно использовать и другие сервисы.

Комментарии RSS

  1. №3145
    AmdY
    AmdY 22.09.2010, 4:57:57

    А почему в Yii так пренебрегают пользоваться константами, добавляли бы к расширениям константы

    <?$this->widget(yiiext_widgets_iconizedMenu_EIconizedMenu,array(
        'items'=>array(
            array('label'=>'Yii Framework', 'url'=> 'http://yiiframework.com/'),
            array('label'=>'RMCreative', 'url'=> 'http://rmcreative.ru/'),
            array('label'=>'Twitter', 'url'=> 'http://twitter.com/'),
        ),
    ))?>
     а лучше ещё какой-нить билдер.
    Widget_yiiext_iconizedMenu_EIconizedMenu::create()
    ->addItem('label'=>'Yii Framework', 'url'=> 'http://yiiframework.com/')
    ->addItem('label'=>'RMCreative', 'url'=> 'http://rmcreative.ru/')

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

  2. №3146
    Sam
    Sam 22.09.2010, 13:27:17

    Не вижу особого смысла в константе в этом случае.

  3. №3147
    AmdY
    AmdY 22.09.2010, 17:51:24

    Такие троки держать в голове нереально, даже если сам писал плагин.

    p.s. Письмо о комментарии попало в спам на gmail.

  4. №3148
    Sam
    Sam 22.09.2010, 19:22:17
    1. Строка есть в readme.
    2. Строка вполне осмыслена и представляет собой путь к файлу виджета и, кстати, может меняться в зависимости от того, в какой папке этот самый виджет лежит.
  5. №3161
    Александр
    Александр 28.09.2010, 13:24:10

    Было бы лучше выдавать иконки спрайтом, уменьшая число HTTP запросов. Можно ли в яндексе настроить расстояние в спрайте между иконками?

  6. №7966
    Александр
    Александр 14.05.2013, 18:59:10

    А как к ссылкам добавить rel=nofollow?

  7. №7970
    Sam
    Sam 15.05.2013, 13:16:46

    Использовать itemOptions.

  8. №7976
    Александр
    Александр 15.05.2013, 18:21:57

    Все получилось, спасибо!

    'linkOptions'=>array('rel'=>'nofollow')
  9. №8692
    Александр
    Александр 16.12.2013, 1:05:10

    Sam, а можно как-то отображать иконку (заглужку), если иконка не найдена или указывать вручную свою? спасибо за ответ.

  10. №8693
    Sam
    Sam 16.12.2013, 14:30:14

    Нет. Google и Yandex или находят значки или отдают изображение по умолчанию. Со своей стороны мы это контролировать не можем.

  11. №8694
    Александр
    Александр 16.12.2013, 17:52:52

    Жаль, ато иногда сервис ты возвращает иконку и выглядит это например так: http://alexanderschilling.ru

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.