[Помогите] Элемент "Ссылка" в компоненте ZOO

Тема в разделе "Joomla", создана пользователем xxxVINIxxx, 20 июл 2014.

  1. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    Здравствуйте!
    Использую элемент "Ссылка" в блоге компонента Zoo. Вопрос: можно ли сделать так, чтобы ссылка была не текстовая, а в виде кнопки?
    Версия Joomla: 3.3.1
    Версия ZOO: 3.1.6
     
  2. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    Можно, в настройках элемента нужного шаблона в графе Показывать (View) выбираем Ссылка кнопки (Link button)
     
  3. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    У меня такого нет, вы наверно с элементом "Загрузка" путаете.
     
  4. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    Угу, извиняйте.

    Надо поменять тогда шаблон элемента.

    Файл media/zoo/elements/link/tmpl/link.php

    Это вывод ссылки:
    Код:
    echo '<a href="'.JRoute::_($this->get('value', '')).'" rel="nofollow" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';
    Извращайтесь с этим как хотите, поставьте <button> вместо <a> например, или добавляйте классы.

    Код:
    echo '<button class="button-link" href="'.JRoute::_($this->get('value', '')).'" rel="nofollow" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</button>';
     
    xxxVINIxxx нравится это.
  5. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    Кнопка появляется, только после нажатия на нее, ничего не происходит.
     
  6. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    Ну тогда давайте ссылку на сайт, если возможно, и напишите, какой код Вы вставили в шаблон элемента.

    А вообще было бы правильней оставить тег <a>, добавить какой-нибудь класс и оформить ссылку как кнопку на CSS.
     
  7. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    Вот этот код:
    Код:
    echo '<button class="button-link" href="'.JRoute::_($this->get('value', '')).'" rel="nofollow" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</button>';
    --- Добавлено, 20 июл 2014 ---
    Сделал вот так, все работает. Так допустимо?
    Код:
    echo '<a class="uk-button uk-width-1-1" href="'.JRoute::_($this->get('value', '')).'" title="'.$this->getTitle().'" '.$target.' '. $rel .'>'.$this->getText().'</a>';
     
    Последнее редактирование: 20 июл 2014
  8. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    Да, конечно, теперь кнопка должна быть во всю ширину блока. Все отлично, на UIKit я делаю также.
     
    xxxVINIxxx нравится это.
  9. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    Вы бы не могли мне помочь с элементом "ItemLink". Хотел сделать, чтобы была тоже кнопка, но не получается. Появляется кнопка, причем текст кнопки не видно, и кнопка не вовсю ширину блога. Может не тот файл редактирую. Файл: /media/zoo/elements/itemlink/itemlink.php.
    Вот кусок кода в самом низу:
    Код:
    public function render($params = array()) {
            $params = $this->app->data->create($params);
            $text = JText::_($params->get('link_text') ? $params->get('link_text') : 'READ_MORE');
            return $this->_item->getState() ? '<a href="' . $this->app->route->item($this->_item) . '">' . $text . '</a>' : $text;
        }
     
  10. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    Делайте по аналогии с элементом Ссылка:
    Код:
    public function render($params = array()) {
            $params = $this->app->data->create($params);
            $text = JText::_($params->get('link_text') ? $params->get('link_text') : 'READ_MORE');
            return $this->_item->getState() ? '<a class="uk-button uk-width-1-1" href="' . $this->app->route->item($this->_item) . '">' . $text . '</a>' : $text;
        }
     
  11. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    Так я уже делал, вот что получается
    [​IMG]
     
  12. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    Значит у Вас есть дополнительный код CSS, который обрабатывает эту ссылку. Напишите адрес проблемной странички.
     
  13. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    ссылка
     
  14. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    1. В элементе Itemlink нужно поставить все, как я писал выше (то есть добавить class="uk-button uk-width-1-1" к ссылке элемента Itemlink).
    2. В файле /media/zoo/applications/blog/templates/uikit/renderer/item/teaser.php поменять
    Код:
    <ul class="uk-subnav uk-subnav-line">
        <?php echo $this->renderPosition('links', array('style' => 'uikit_subnav')); ?>
    </ul>
    на
    Код:
    <?php echo $this->renderPosition('links', array('style' => 'uikit_block')); ?>
     
    xxxVINIxxx нравится это.
  15. xxxVINIxxx

    xxxVINIxxx

    Регистрация:
    26 май 2014
    Сообщения:
    21
    Симпатии:
    1
    Спасибо огромное, все работает. А вы случайно не знаете, может где-нибудь в интернете есть документация по UIKit на русском языке?
     
  16. gatsby

    gatsby

    Регистрация:
    27 дек 2012
    Сообщения:
    142
    Симпатии:
    75
    На русском не знаю, пользуюсь английской документацией, там все понятно, доступные примеры.
    http://getuikit.com/docs/components.html