Новости Joomla

Вышли релизы безопасности Joomla 6.1.1 и Joomla 5.4.6

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

Проект Joomla! рад сообщить о выходе Joomla 6.1.1 и Joomla 5.4.6. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1314 Просмотров
*

poiuy

  • Захожу иногда
  • 203
  • 30 / 6
  • o_O
Пробую вывести меню в позиции "left", то есть вертикальным списком.

По задумке пункты меню выводятся в две колонки, то есть, например, если пунктов меню 10, то 5 слева и пять справа.
По макету у обоих колонок свои собственные <ul></ul>, обернутые в div'ы col-1 и col-2 соответственно.

Так вот, сопсна, вопрос:

Как сделать так, что бы php скрипт считал количество item'ов в меню, делил их по полам, половину совал в один див, а вторую половину в другой.

Ну или как руками указать кол-во итемов в первой колонке, закрыть <ul>, закрыть div col-1, открыть col-2, открыть второй <ul> и продолжить foreach, который, собственно, и выводит меню по пунктам.

Это возможно вообще?

Пока, решение вижу только в создании второго меню, создании позиции рядом с "left", и публиковать вторую колонку туда.

Вот default.php из папки mod_menu терзаемого шаблона (jBlank):

Это вот моя верстка, это и есть первая колонка:
<div class="container row1">
 <div class="col-1">


Код: php
<?php
/**
 * @package Joomla.Site
 * @subpackage mod_menu
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

// Note. It is important to remove spaces between elements.
?>
<div class="container row1">
 <div class="col-1">
<ul class="list"<?php
$tag = '';
if ($params->get('tag_id')!=NULL) {
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
<?php
foreach ($list as $i => &$item) :
$class = 'item-'.$item->id;
if ($item->id == $active_id) {
$class .= ' current';
}

if (in_array($item->id, $path)) {
$class .= ' active';
}
elseif ($item->type == 'alias') {
$aliasToId = $item->params->get('aliasoptions');
if (count($path) > 0 && $aliasToId == $path[count($path)-1]) {
$class .= ' active';
}
elseif (in_array($aliasToId, $path)) {
$class .= ' alias-parent-active';
}
}

if ($item->deeper) {
$class .= ' deeper';
}

if ($item->parent) {
$class .= ' parent';
}

if (!empty($class)) {
$class = ' class="'.trim($class).'"';
}

echo '<li'.$class.'>';

// Render the menu item.
switch ($item->type) :
case 'separator':
case 'url':
case 'component':
require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
break;

default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;

// The next item is deeper.
if ($item->deeper) {
echo '<ul>';
}
// The next item is shallower.
elseif ($item->shallower) {
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
// The next item is on the same level.
else {
echo '</li>';
}

endforeach;

?></ul>

 </div>
</div>
 

Если есть в заначке доки, где описано, как остановить цикл, и продолжить его выполнение при определенном условии, например count($list) == '5';, поделитесь ссылкой пжлста  ;)
« Последнее редактирование: 07.09.2012, 18:25:40 от poiuy »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Не могу оформить меню (не css)
« Ответ #1 : 07.09.2012, 19:21:38 »
Код
$count=count($list);$i=0;
цикл пошел
$i++;
if (($i++)==($count div 2)) { начался второй вариант }
*

poiuy

  • Захожу иногда
  • 203
  • 30 / 6
  • o_O
Re: Не могу оформить меню (не css)
« Ответ #2 : 07.09.2012, 20:39:26 »
Спасибо за ответ. Не получилось. Прекращает цикл, но второй начинает заново. Я хотел что бы первый остановился на пятом пункте, второй продолжил на шестом.

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

Назначение макета, посредством ссылки в меню

Автор xxxLOGIATxxx

Ответов: 20
Просмотров: 8230
Последний ответ 04.02.2022, 14:44:14
от hoi
Съезжает меню при наведении

Автор yyyuuu

Ответов: 4
Просмотров: 4890
Последний ответ 08.12.2020, 11:12:32
от AlexB
Оформить горизонтальное меня в джкмла 2, 5

Автор Димьяна

Ответов: 13
Просмотров: 8194
Последний ответ 27.11.2018, 15:04:06
от Димьяна
Проблемы в горизонтальном меню Joomla 2.5

Автор Димьяна

Ответов: 1
Просмотров: 5638
Последний ответ 27.11.2018, 14:58:30
от Ragivort
mod_menu и подписи к пунктам меню (subtitles)

Автор St@lker

Ответов: 21
Просмотров: 9579
Последний ответ 29.10.2017, 16:24:00
от xilog