Joomla 3.x Скрыть позицию модуля в шаблоне Helix 3

Тема в разделе "Изменение шаблона (кастомизация)", создана пользователем OlegK, 06.11.2020.

  1. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 812
    Симпатии:
    771
    Пол:
    Мужской
    Шаблон Helix and JoomShopping, условие вывода модуля в позиции right . Два варианта, и все правки в системной плагине , который при обновлении перепишется . Нужно добавить получение значений - типа расширения и контроллера
    Код (PHP):
    1. $input = JFactory::getApplication()->input;
    2. $option = $input->getCmd('option', 'com_jshopping');
    3. $controller = $input->getCmd('controller', 'product');

    1. Не выводим данные модуля
    Код (PHP):
    1. $output ='';
    2. $input = JFactory::getApplication()->input;
    3. $option = $input->getCmd('option', 'com_jshopping');
    4. $controller = $input->getCmd('controller', 'product');
    5. if ( $option == 'com_jshopping' && $controller == 'product' && $data->settings->name == "right")
    6. //echo "<pre>";var_dump($data->settings->name);echo "</pre>";
    7. echo $output;
    8. else {
    9.     $output .= '<div id="sp-' . JFilterOutput::stringURLSafe($data->settings->name). '" class="' . $data->className . '">';
    10.  
    11.         $output .= '<div class="sp-column ' . ($data->settings->custom_class). '">';
    12.  
    13.         $features = (Helix3::hasFeature($data->settings->name))? helix3::getInstance()->loadFeature[$data->settings->name] : array();
    14.  
    15.             foreach ($features as $key => $feature){
    16.                 if (isset($feature['feature']) && $feature['load_pos'] == 'before' ) {
    17.                     $output .= $feature['feature'];
    18.                 }
    19.             }
    20.  
    21.             $output .= '<jdoc:include type="modules" name="' . $data->settings->name . '" style="sp_xhtml" />';
    22.  
    23.             foreach ($features as $key => $feature){
    24.                 if (isset($feature['feature']) && $feature['load_pos'] != 'before' ) {
    25.                     $output .= $feature['feature'];
    26.                 }
    27.             }
    28.  
    29.         $output .= '</div>'; //.sp-column
    30.  
    31.     $output .= '</div>'; //.sp-
    32.  
    33.  
    34. echo $output;
    35. }
    2. Второй вариант, скрыть с помощью классов Не забываем перед циклом добавить получение значений - типа расширения и контроллера[
    Код (PHP):
    1. // End Responsive Utilities
    2.   if ($column->settings->column_type){ //Component
    3.      if ( $option == 'com_jshopping' && $controller == 'product' && $data["rowColumns"][1]->settings->name == "right") {
    4.      $column->className= "col-sm-12 col-md-12";
    5.    }
    6.  
    7.   $getLayout = new JLayoutFile('frontend.conponentarea', $layout_path_carea );
    8.   $output .= $getLayout->render($column);
    9.   }
    10.   else { // Module
    11.          if ( $option == 'com_jshopping' && $controller == 'product' && $data["rowColumns"][1]->settings->name == "right") {
    12.      $column->className= "hidden";
    13.    }
    14.   $getLayout = new JLayoutFile('frontend.modules', $layout_path_module );
    15.   $output .= $getLayout->render($column);
    16.   }
     

    Вложения:

    Alekxandr нравится это.
  2.  

Поделиться этой страницей

Загрузка...