Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Недавно видел (вроде бы здесь, на форуме), как в modules.php добавить вывод id модуля, и не смог найти  :o
Как это можно модифицировать?
Код: php
function modChrome_well($module, &$params, &$attribs)
{
if ($module->content) {
echo "<div class=\"well " . htmlspecialchars($params->get('moduleclass_sfx')). "\">";
if ($module->showtitle)
{
echo "<div class=\"page-header\"><strong>" . $module->title . "</strong></div>";
}
echo $module->content;
echo "</div>";
}
}
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #1 : 03.06.2014, 10:42:54 »
echo $module->id;
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #2 : 03.06.2014, 10:44:26 »
Спс, + :)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #3 : 03.06.2014, 10:46:43 »
Спс, + :)
на будущее можно var_dump($module) или print_r($module) и можно посмотреть все внутренности модуля!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #4 : 03.06.2014, 10:50:26 »
А в каких случаях вообще цепляется modules.php из шаблона?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #5 : 03.06.2014, 10:52:52 »
если вы в стилях модуля укажите  эту обертку тоесть у вас обертка сейчас modChrome_well
если пишете <jdoc:include type="modules" name="position" style="well" />
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #6 : 03.06.2014, 10:55:28 »
А это когда:
function modChrome_no($module, &$params, &$attribs)

И как будет называться универсальная функция для всех модулей?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #7 : 03.06.2014, 10:58:10 »
modChrome_no подключится когда вы сделаете
<jdoc:include type="modules" name="position" style="no" />
что значит универсальная для всех модулей? Данный функционал служит для того что бы наоборот сделать нужную обертку для разных случаев разных модулей, либо можно обеспечить что один и тот же модуль на разных страницах будет выглядеть по разному..
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #8 : 03.06.2014, 11:01:02 »
Имена оберток фиксированные (где почитать?)? Или могу свои понапридумывать?
Просто хочу. чтобы каждый модуль на любой странице выводился во фронт со своим id
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #9 : 03.06.2014, 11:02:30 »
Вы можете своих напридумывать сколько угодно, но в системе есть семь стандартных оберток которые можно использовать в любом шаблоне!
Все они лежат тут: templates/system/html/modules.php
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #10 : 03.06.2014, 11:06:53 »
Спс. А переопределить эти стандартные обертки как-либо можно?
В своем modules.php объявляю function modChrome_xhtml($module, &$params, &$attribs), а мне в ответ:
Fatal error: Cannot redeclare modChrome_xhtml() (previously declared in \templates\system\html\modules.php:88)
Если изменю в \templates\system\html\modules.php, то при обнове затрется все.
« Последнее редактирование: 03.06.2014, 11:26:00 от AlekVolsk »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: modules.php -> добавить id модуля
« Ответ #11 : 03.06.2014, 11:28:54 »
Спс. А переопределить эти стандартные обертки как-либо можно?
В своем modules.php объявляю function modChrome_xhtml($module, &$params, &$attribs), а мне в ответ:
Fatal error: Cannot redeclare modChrome_xhtml() (previously declared in \templates\system\html\modules.php:88)
Если изменю в \templates\system\html\modules.php, то при обнове затрется все.
Да, не получится переопределить - только свои создать можно.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #12 : 03.06.2014, 11:32:31 »
Да, не получится переопределить - только свои создать можно.
Ок, спс. А как добавить к классу "modid-<?php echo $module->id; ?>" все зависимости от обертки? для всех оберток одновременно?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: modules.php -> добавить id модуля
« Ответ #13 : 03.06.2014, 11:38:34 »
Ок, спс. А как добавить к классу "modid-<?php echo $module->id; ?>" все зависимости от обертки? для всех оберток одновременно?
Насколько мне известно - никак.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #14 : 03.06.2014, 11:44:58 »
Насколько мне известно - никак.
>:(
*

b2z

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #16 : 03.06.2014, 12:00:14 »
Вообще, я бы добавил добавил в режиме отладки принудительную обертку с указанием id для всего: модуль/плагин/вьюхи компонентов. Иногда так не хватает...
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: modules.php -> добавить id модуля
« Ответ #17 : 03.06.2014, 16:05:59 »
Вообще, я бы добавил добавил в режиме отладки принудительную обертку с указанием id для всего: модуль/плагин/вьюхи компонентов. Иногда так не хватает...
не знаю мне всего хватает )
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: modules.php -> добавить id модуля
« Ответ #18 : 17.06.2014, 16:07:10 »
В общем, решил вопрос написанием собственной функции, видоизмененный стиль html5 (span'ы исключены сознательно, для использования без bootstrap):
Код: php
function modChrome_modid($module, &$params, &$attribs)
{
  $moduleTag = $params->get('module_tag', 'div');
  if (!empty ($module->content)) {
    $moduleClass = trim(htmlspecialchars($params->get('moduleclass_sfx')).' modid-'.$module->id);
    $moduleClass = !empty($moduleClass)? ' class="'.$moduleClass.'"' : '';
    echo '<'.$moduleTag.$moduleClass.'>';
    if ((bool)$module->showtitle) {
      $headerTag = htmlspecialchars($params->get('header_tag', 'h3'));
      $headerClass = $params->get('header_class');
      $headerClass = !empty($headerClass)? ' class="'.htmlspecialchars($headerClass).'"' : '';
      echo '<'.$headerTag.$headerClass.'>'.$module->title.'</'.$headerTag.'>';
    }
    echo $module->content;
    echo '</'.$moduleTag.'>';
  }
}

Решено.
« Последнее редактирование: 17.06.2014, 16:11:02 от AlekVolsk »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 772
Последний ответ 07.09.2024, 13:19:48
от timofe
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1208
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Убрать из модуля новостей ссылку на статью, на которой выводится модуль

Автор zeus07

Ответов: 3
Просмотров: 1461
Последний ответ 08.11.2023, 21:17:26
от GrayAn
Изменение отображения модуля от разрешения экрана

Автор mag_num83

Ответов: 5
Просмотров: 1038
Последний ответ 17.05.2023, 09:35:23
от Театрал
Как удалить позицию модуля в настройках модуля?

Автор 62411

Ответов: 6
Просмотров: 1094
Последний ответ 12.03.2023, 18:24:38
от 62411