Форум русской поддержки Joomla!® CMS
06.12.2016, 04:54:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как сделать из кнопки «Читать дальше» простую ссылку?

 (Прочитано 232 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mnojitell
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« : 08.05.2016, 04:22:16 »

Долго ковырялся в шаблоне, но так и не нашёл, как отключить все стили и саму картинку, чтобы полностью убрать кнопку и сделать из неё простую ссылку. При удалении всех стилей .btn при наведении на ссылку всё равно отображается белая картинка, а также не удаётся удалить знак > расположенный перед текстом.
Записан
darkghost
Практически профи
*******

Репутация: +75/-0
Offline Offline

Сообщений: 1809



« Ответ #1 : 11.05.2016, 16:16:53 »

надо править шаблон, а не только стили. Если это вывод материалов, то смотреть папку -content-
Записан
Mnojitell
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #2 : 12.05.2016, 08:19:50 »

Ясно, что нужно править этот код. Файл default_item.php Но как отсюда убрать изображение и значок > ? Убираешь любой элемент и кнопка пропадает вместе с ссылкой.
<?php if ($params->get('show_readmore') && $this->item->readmore) :
if ($params->get('access-view')) :
$link = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
else :
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
$link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language), false)));
endif; ?>

<?php echo JLayoutHelper::render('joomla.content.readmore', array('item' => $this->item, 'params' => $params, 'link' => $link)); ?>

<?php endif; ?>
Записан
darkghost
Практически профи
*******

Репутация: +75/-0
Offline Offline

Сообщений: 1809



« Ответ #3 : 12.05.2016, 10:55:44 »

где находится "...Файл default_item.php ... "? Шаблон то какой используете? Можно взглянуть на пациента?
Какой-то странный код для ссылки -подробнее-
Записан
Mnojitell
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #4 : 22.05.2016, 15:07:14 »

Спасибо darkghost за участие, натолкнувшее на движение в правильном направлении. Действительно, сначала править нужно не файл default_item.php, находящийся домен/components/com_content/views/featured/tmpl, а файл домен/layouts/joomla/content/readmore.php.

В этом файле убираем из кнопки «Читать дальше» шеврон «>», стоящий слева от текста в версиях Joomla 3.4 и выше, удаляя строку кода <span class="icon-chevron-right"></span>.

Затем удаляем кучу абсолютно бесполезных стилей CSS, редактируя temlate.css шаблона. Находим файл .btn и удаляем длинный столб лабуды до button.btn, оставив только необходимое:
 .btn {
display: inline-block;
*display: inline;
*zoom: 1;
padding: 4px 12px;
margin-bottom: 0;
font-size: 16px;
line-height: 18px;
border: 1px solid #0088cc;
border-radius: 4px;
text-align: center;
vertical-align: middle;
cursor: pointer;
color: #0088cc;
font-family:Impact,serif;
}
Я увеличил размер текста, задал border нужной толщины и цвета, а также изменил шрифт.
Кнопка «Читать дальше» получилась красивой и лёгкой, а так как на странице их целых 9, то сайт стал грузиться на два пункта быстрее по GoogleDevelopers. Попутно можно удалить стандартный файл шрифтов для заголовков из index.php шаблона,
<style type="text/css">
h1,h2,h3,h4,h5,h6,.site-title{
font-family: '<?php echo str_replace('+', ' ', $this->params->get('googleFontName')); ?>', sans-serif;
}
</style>
прописав для каждого типа заголовка свой в файле temlate.css, сделав сайт ещё легче и красивее.
Для пущей красоты пододвигаем кнопку «Подробнее» максимально близко к тексту, меняя местами php код в указанном выше default_item.php:
<?php if ($params->get('show_readmore') && $this->item->readmore) :
if ($params->get('access-view')) :
$link = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
else :
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
$link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language), false)));
endif; ?>

<?php echo JLayoutHelper::render('joomla.content.readmore', array('item' => $this->item, 'params' => $params, 'link' => $link)); ?>

<?php endif; ?>
<?php if ($useDefList && ($info == 1 || $info == 2)) : ?>
   <?php echo JLayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'below')); ?>
   <?php if ($params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
      <?php echo JLayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
   <?php endif; ?>
<?php endif; ?>
Ставим блок ('show_readmore') выше ($info == 1 || $info == 2)) и кнопка «Подробнее» красиво встаёт под самый текст.
Благодаря этим действиям удалось увеличить скорость загрузки сайта с 64 до 67 по GoogleDevelopers, то есть выйти из красной зоны, и сделать привлекательнее. Результат можно посмотреть тут: http://www.korotkometrazhnye-filmy.com/
Буду рад, если это кому то поможет улучшить сайт, не тратя много времени.   


       
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet