Новости Joomla

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

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Доброго времени суток!

Имеется идея, но реализовать не получается.
В менеджере меню, создано главное меню, в нем 4 пунка. 1 из пунктов внешний URL на всплывающее окошко с авторизационной формой.
Так вот, сейчас заголовок этого пункта меню значится как "Вход".
Нужно чтобы в зависимости от авторизации Заголовок менялся между "Вход/Выход".

Подскажите пожалуйста как такое реализовать.
Пробовал использовать ReReplacer, но у него как-то туго воспринимается часть кода.
В общем жду любые предложения.

Заранее благодарен!!
« Последнее редактирование: 15.04.2013, 10:24:47 от b2z »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Замена заголовка меню
« Ответ #1 : 10.04.2013, 11:01:02 »
Переопределить шаблон модуля меню и в нем по условию (проверка на гостя) менять заголовок для нужного пункта меню:

Код: php
if ($item->id == 1001):
if (JFactory::getUser()->quest):
echo JText::_('ENTER');
else
echo JText::_('EXIT');
endif;
endif;
Где 1001 - ID нужного пункта меню.
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #2 : 10.04.2013, 23:06:20 »
Огромнейшее спасибо.
На днях обязательно опробую, пока работа времени в обрез. О результатах обязательно доложу.
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #3 : 13.04.2013, 14:53:30 »
Еще раз прошу прощения, сделал переопределение модуля.
При вставке кода на проверку, на сайте ничего не меняется.
Может вставил не туда?
В общем, мне опять нужна ваша помощь..
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #4 : 13.04.2013, 15:25:05 »
переопределение точно срабатывает?
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #5 : 13.04.2013, 15:55:18 »
да переопределение срабатывает, пробовал с модулем авторизации играться
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #6 : 13.04.2013, 15:57:15 »
На данный момент имею такой код для модуля меню, все-таки нагляднее виднее
Код
<?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.
?>
<?php
<ul class="menu<?php echo $class_sfx;?>"<?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.'>';
echo '<span class="rt-sidebar-arrow"></span>';

// 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>';
}
if ($item->id == 203):
if (JFactory::getUser()->quest):
echo JText::_('ENTER');
else
echo JText::_('EXIT');
endif;
endif;
endforeach;
?></ul>
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #7 : 13.04.2013, 16:12:29 »
вообще в тройке два слоя в модуле mod_login для отображения авторизированного и неавторизированного юзера!
посмотрите в папке modules/mod_login/tmpl/
там два файла default.php и default_logout.php так вот вам нужно их обое переопределить и во втором написать if ($item->id == 203) echo JText::_('EXIT');
а в первом if ($item->id == 203) echo JText::_('ENTER');
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #8 : 13.04.2013, 16:16:51 »
А разве изменения в модуле авторизации повлияют на модуль меню?
Ведь именно в модуле меню мне нужно поменять название
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #9 : 13.04.2013, 16:24:33 »
А разве изменения в модуле авторизации повлияют на модуль меню?
Ведь именно в модуле меню мне нужно поменять название
а в модуле меню? я что то подумал про модуль авторизации...
по идее вам нужно переопределять default_url в модуле меню
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #10 : 13.04.2013, 19:38:06 »
там тоже не срабатывает(
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #11 : 13.04.2013, 19:55:06 »
там тоже не срабатывает(
а что пишете там?
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #12 : 13.04.2013, 20:30:13 »
Все тот же код, для проверки аутентификации, изложенный выше
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #13 : 13.04.2013, 21:01:12 »
Странный у вас код! у меня совсем другой в modules/mod_menu/tmpl/default_url.php
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #14 : 13.04.2013, 21:20:22 »
default_url теперь выглядит так:
Код
<?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
 */

defined('_JEXEC') or die;

// Note. It is important to remove spaces between elements.
$class = $item->anchor_css ? 'class="'.$item->anchor_css.'" ' : '';
$title = $item->anchor_title ? 'title="'.$item->anchor_title.'" ' : '';
if ($item->menu_image) {
$item->params->get('menu_text', 1)?
$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" /><span class="image-title">'.$item->title.'</span> ' :
$linktype = '<img src="'.$item->menu_image.'" alt="'.$item->title.'" />';
}
else {
if ($item->id == 203):
if (JFactory::getUser()->quest):
$item->title = 'ENTER';
else
$item->title = 'EXIT';
endif;
endif;
$linktype = $item->title;
}
$flink = $item->flink;
$flink = JFilterOutput::ampReplace(htmlspecialchars($flink));

switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 1:
// _blank
?><a <?php echo $class; ?>href="<?php echo $flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 2:
// window.open
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$params->get('window_open');
?><a <?php echo $class; ?>href="<?php echo $flink; ?>" onclick="window.open(this.href,'targetWindow','<?php echo $options;?>');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
endswitch;
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Замена заголовка меню
« Ответ #15 : 13.04.2013, 21:50:31 »
Ошибку не выкидывает? После else двоеточие должно быть, я в коде выше ошибся.

И еще попробуйте просто echo какое нибудь сдлелать, чтобы проверить переопределение.
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #16 : 13.04.2013, 22:05:19 »
хм... и на самом деле, в любом месте кода, эхо не срабатывает...
не понятно почему, если играться с модулем "логин", то все прекрасно, тут же нет
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #18 : 13.04.2013, 23:43:19 »
как переопределяли напишите
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #19 : 14.04.2013, 00:48:58 »
Использую шаблон "Lethiathan" от RoсketTheme
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Замена заголовка меню
« Ответ #20 : 14.04.2013, 02:11:22 »
не знаю или у этих шаблонов что то по другому но вы должны в
templates/ваш_шаблон/html/mod_menu/ положить все php файлы из modules/mod_menu/tmpl/
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #21 : 14.04.2013, 11:45:12 »
Специально переместил Все файлы, оставил проверку и default.php и в default_url.php, и все равно ничего не работает.
При этом вставляя ту же проверку в мод "логин", немного подкорректировав, все прекрасно работает...(
*

Piligrim_X

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Замена заголовка меню
« Ответ #22 : 14.04.2013, 13:47:24 »
В общем, после многочасовых поисков и неудач, оказалось, что все гениальное просто)
Создал 2 пункта меню(Вход и Выход). Вход виден для гостей, Выход для зарегистрированных. Немного поигрался с правами доступа и вуаля.
Всем спасибо за помощь, вопрос, думаю, исчерпан.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Один пункт меню думает что он главный

Автор DamaVbubi

Ответов: 4
Просмотров: 324
Последний ответ 13.02.2024, 19:49:10
от DamaVbubi
[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 541
Последний ответ 06.02.2024, 12:42:26
от AlexP750
Замена данных сайта на данные поддомена

Автор rezchik

Ответов: 5
Просмотров: 396
Последний ответ 05.02.2024, 11:45:36
от web1
Пропало главное меню, и контент на главной (после обновления)

Автор GTHack

Ответов: 15
Просмотров: 544
Последний ответ 07.01.2024, 16:00:15
от ProtectYourSite
Автоматическая снятие с публикации пункта меню

Автор all_zer

Ответов: 2
Просмотров: 343
Последний ответ 30.12.2023, 15:29:58
от all_zer