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

Duiate

  • Новичок
  • 5
  • 0
Добрый день, уважаемые форумчане!
У меня возникла проблема, поэтому пишу, чтобы помогли написать нужный мне кусок кода или подсказали, как можно выкрутиться из этой ситуации.
В общем, закачал для Joomla замечательный шаблон от vtem, написал до фига всего в материалах, картинки долго и упорно подбирал под шаблон, редактировал, фотошопил и т.д. Добрался до второй версии сайта, на другом языке, сделал, как положено, три меню: для всех, англ, третий язык.
И тут надо ставить для второго меню ту же позицию, что для первого. Смотрю, а для меню нет вообще никакого модуля, ну, думаю, как так?! Начал разбираться, и вот что выяснилось.
Оказывается:
1. меню написано кодом(без модуля)
2. позиция, на которой стоит сейчас первое меню, вообще не прописана в Joomla, как возможная, т.е. туда, где первое меню, не поставишь второе в админке.
3. если поменять оба меню на прописанную позицию в шаблоне, будет очень коряво смотреться.

Поковырявшись в файлах, я нашел такой файл default.php.
Начало файла такое:

Код
<?php
defined('_JEXEC') or die('Restricted access');
///  Renderer modules  //////////////////////////////////////////////////////////////////////////////////////////
function VTEMShowModule($name, $style, $modnumber, $logopos = '', $menupos = ''){
    $modmodule = $modstep = $modwidthmanual = $showlogo = '';
    $countmodule = 0;
    jimport( 'joomla.application.module.helper' );
    $customParams = JFactory::getApplication()->getTemplate(true)->params;
    $doc = JFactory::getDocument();
    $app = JFactory::getApplication();
   
    //// MENU /////////////////////////////////////////////////
    $custommenu = $customParams->get("custommenu", 0);
    $menu_name = $customParams->get("menutype", "mainmenu");
    $menustyle = $customParams->get("menustyle", 1);
    $startLevel = $customParams->get("startLevel", 0);
    $endLevel = $customParams->get("endLevel", 10);
    $mootransition = $customParams->get("mootransition", 'Quad');
    $renderer    = $doc->loadRenderer( 'module' );
    $options    = array( 'style' => "raw" );
    $module = JModuleHelper::getModule( 'mod_menu', '$menu_name' );
    $modulem = JModuleHelper::getModule( 'mod_menu', '$menu_name' );
    $vtemmainmenu = false; $subnav = false; $sidenav = false;
    if($menustyle == 1){$menustyle1 = "_vtem_nav";}else{$menustyle1 = "_vtem_dropline";}
    $module->params    = "menutype=$menu_name\nshowAllChildren=1\nstartLevel=$startLevel\nendLevel=$endLevel\nclass_sfx=$menustyle1";
    $modulem->params    = "menutype=$menu_name\nshowAllChildren=1\nstartLevel=$startLevel\nendLevel=$endLevel\nclass_sfx=-mobi";
    if($custommenu == 0){
    $vtemmainmenu = '<div id="vt_main_menu" class="vt_menufix clearfix"><div class="vt_bgmain_menuleft"></div>
                         <div class="vt_bgmain_menuright"></div><div id="vtem_menu" class="mlmenu plus '.$mootransition.'">' .$renderer->render( $module, $options ).'</div>';
    $vtemmainmenu .= '<a href="#vtem_menu_mobile" class="vtemdrildown vtemdrillround" id="vtflatmenu">Mobile menu</a><div id="vtem_menu_mobile" class="hidden vt_drilldown_menu" style="display:none;">' .$renderer->render( $modulem, $options ).'</div></div>';
    }else{
    $vtemmainmenu = '';
    }

В этом коде я выявил одну закономерность:
$menu_name = $customParams->get("menutype", "mainmenu");
В этой строчке меняв параметры под get(); я могу свое главное меню поменять, но тогда получается либо одно, либо другое, а мне нужно оба, т.е. нужно условие, а условие нужно сделать по текущему языку. Либо сделать сразу два, но я так понимаю, это намного сложнее и нужно перелопачивать все файлы, все логические цепочки (зависимости).

Если нужно скинуть еще файлы, напишите, скину, сразу как смогу.

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

Ilhom666

  • Живу я здесь
  • 1305
  • 166
Re: Условие по языковой версии сайта
« Ответ #1 : 07.06.2016, 15:16:59 »
если выбор главного меню вшито в шаблон, то читайте здесь
*

Duiate

  • Новичок
  • 5
  • 0
Re: Условие по языковой версии сайта
« Ответ #2 : 07.06.2016, 16:10:57 »
Просмотрел тему, объясните, пожалуйста, поподробней. У меня шаблон использует меню с определенным типом, а тип задается уникально, модуля к меню не стоит. Как мне прикрепить правильно второе меню ко второму шаблону(дублю)?
*

Ilhom666

  • Живу я здесь
  • 1305
  • 166
Re: Условие по языковой версии сайта
« Ответ #3 : 07.06.2016, 19:09:56 »
где вообще у вас определяется какое меню выводить? Задается в настройках шаблона?
*

Duiate

  • Новичок
  • 5
  • 0
Re: Условие по языковой версии сайта
« Ответ #4 : 07.06.2016, 19:30:56 »
В файле default.php папки шаблона.



*

Ilhom666

  • Живу я здесь
  • 1305
  • 166
Re: Условие по языковой версии сайта
« Ответ #5 : 07.06.2016, 19:36:46 »
как вообще шаблон называется?
*

Duiate

  • Новичок
  • 5
  • 0
Re: Условие по языковой версии сайта
« Ответ #6 : 07.06.2016, 19:40:05 »
Ilhom666, спасибо, у меня получилось, а настройки для шаблона я нашел, там как раз и оказалась смена главного меню.

 :D ;) ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ja_teline_iv Добавление материалов напрямую с Сайта а не с Админки

Автор Mezik

Ответов: 1
Просмотров: 122
Последний ответ 21.06.2017, 23:26:17
от Septdir
Не могу поменять шрифт шаблона сайта

Автор Ерема

Ответов: 6
Просмотров: 312
Последний ответ 29.03.2017, 10:16:54
от darkghost
Re: Исправить ошибки в коде сайта

Автор Kubs

Ответов: 1
Просмотров: 317
Последний ответ 15.02.2017, 15:40:01
от voland
Перевод сайта с http на https, шаблон GavickPro SSL сертификат

Автор Gorbunoff

Ответов: 8
Просмотров: 4434
Последний ответ 21.12.2016, 14:23:50
от flipix
Как редактировать код HTML на главной странице сайта?

Автор geroi1

Ответов: 45
Просмотров: 58483
Последний ответ 29.10.2016, 13:16:19
от savole