Доработка Joomla: Заголовки модулей ссылками Печать
24.04.2011

Стандартные возможности Joomla не позволяют сделать заголовки модулей ссылками, что в общем то и понятно. Мало кому это нужно. Но иногда такая необходимость все же возникает. Делается это очень просто.

Будем вносить изменения в файл administrator/components/com_modules/admin.modules.html.php

Ищем строки, примерно 286 - 293.
<tr>
  <td width="100" class="key">
    <?php echo JText::_( 'Show title' ); ?>:
  </td>
  <td>
    <?php echo $lists['showtitle']; ?>
  </td>
</tr>
 
Сразу под этим блоком, ниже вставляем следующий код:

 
<tr>
  <td class="key">
    <label for="islink">
      <?php echo JText::_( 'Title' ).' '.JText::_( 'WEBLINK' ).'?'."\n"; ?>
    </label>
  </td>
  <td>
  <?php if ($params->get('islink', '') == 2){
    $ch2= 'checked="checked"'; $ch1=''; $dis='';
    }else{
    $ch1= 'checked="checked"'; $ch2=''; $dis='style="visibility:hidden"';
    } ?>
     <input type="radio" name="params[islink]" value="1" onclick="togl(1);" <?php echo $ch1 ?>/> <?php echo JText::_( 'NO' )."\n"; ?>
     <input type="radio" name="params[islink]" value="2" onclick="togl(2);" <?php echo $ch2 ?>/> <?php echo JText::_( 'YES' )."\n"; ?>
     <script language="javascript" type="text/javascript">
        <!--
        function togl(k){
          if (k==1){
            document.getElementById("isweblink").style.visibility="hidden";
          }else{
            document.getElementById("isweblink").style.visibility="visible";
          }
        }
        //-->
      </script>
  </td>
</tr>
<tr>
  <td class="key">
    <label for="isweblink">
    <?php echo JText::_( 'WEBLINK' ); ?>
    </label>
  </td>
  <td id="isweblink" <?php echo $dis ?>>
    <input class="text_area" type="text" name="params[isweblink]" size="35" value="<?php echo $params->get('isweblink', ''); ?>" />
  </td>
</tr>
 


Затем смотрим в своем шаблоне стиль вывода нужных модулей и ищем этот стиль в файле: /мойшаблон/html/modules.php или в файле /system/html/modules.php, правим вывод заголовка модуля. Например, если стиль XHTML, то в файле /system/html/modules.php заменяем строку:

<h3><?php echo $module->title; ?></h3>

на следующий код:

 
<?php if($params->get('islink') == 2){
    echo '<h3><a href="'.$params->get('isweblink').'">'.$module->title.'</a></h3>'."\n";
  }else{?>
    <h3><?php echo $module->title; ?></h3>
<?php }?>
 


В результате, в менеджере модулей админпанели, имеем возможность сделать заголовок модуля ссылкой.



С ув. Stylish


Еще статьи:
Динамическое изменение цены в карточке товара VirtueMart при выборе его атрибутов.
Компонент Джумла для организации продаж скачиваемых товаров (скачать за плату)
Доработка VirtueMart: в разных городах разные цены.