В ходе разработки сайтов, часто сталкиваюсь с проблемой некорректного отображения компонентов joomla.
Одна из проблем - K2 выводит список категорий согласно настройки категории, но если в настройках указано 3 колонки, то на мобильном устройстве они так же отобразятся как 3 колонки, а т.к. размера экрана устройства меньше монитора, получается наложение.
Выход из ситуации - использовать библиотеку определения мобильных устройств Mobile-Detect
Необходимо скачать файлы библиотеки и разместить на вашем сайте, я разместил в папке '/public_html/md' , в примерах будет использован этот путь.
Необходимо отредактировать файлы K2:
/components/com_k2/templates/default/category.php
Строки:
// no direct access
defined('_JEXEC') or die;
?>
Заменить на(подключаем библиотеку):
// no direct access
defined('_JEXEC') or die;
require_once 'md/Mobile_Detect.php';
$detect = new Mobile_Detect;
?>
Меняем условия вывода строки в списке категорий, убираем процентное деление.
Строки:
<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1) ? '' : ' style="width:'.number_format(100/$this->params->get('num_leading_columns'), 1).'%;"'; ?>>
Заменить на(убираем деление на колонки на мобильном устройстве):
<?php if ( $detect->isMobile() ) :?>
<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1) ? '' : ' style="width:100%;"'; ?>>
<?php else :?>
<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1) ? '' : ' style="width:'.number_format(100/$this->params->get('num_leading_columns'), 1).'%;"'
; ?>>
.....
<?php endif; ?>