1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Проблема VirtueMart + TransMenu + sh404SEF

Тема в разделе "Joomla", создана пользователем inginiar, 24 апр 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. inginiar

    inginiar Создатель

    Регистр.:
    22 фев 2009
    Сообщения:
    16
    Симпатии:
    0
    На Денвере связка Joomla 1.5.15 + VirtueMart 1.1.4. После установки sh404SEF все красиво как на картинке, но возникает проблема с модулем отображения меню категорий (mod_product_categories) и причем только с использованием TransMenu. Переход по категориям происходит без проблем а вот в подкатегорию зайти не могу. Гдето запоминается последняя страничка с которой была попытка зайти в подкатегорию и после все переходы осуществляются на эту страничку. Как обидно. И компонент sh404SEF понравился и от TransMenu отойти не могу (неделю потратил на подгонку по дизайну, да и лучшее это из имеющегося). Вот и сижу уже который день как та обезьяна толи умный я толи красивый. Скорее выберу отказ от sh404SEF если ни кто здесь не сможет помочь. Видимо это меню построено на ява скрипте и урлы пунктов формируются таким сложным образом, что sh404SEF не смог перехватить адресацию. Поиск в корне сайта выдал кучу файлов с упоминанием TransMenu, какой ковырять не понятно, да и знаний не хватит понять, что именно ковырять.
    Помогите справиться с проблемой.
     
  2. RedRabbit

    RedRabbit

    Регистр.:
    11 июл 2008
    Сообщения:
    606
    Симпатии:
    250
    Поиграйся с настройками sh404SEF
    Смотри 3 пункт, с .htaccess или без, должно помочь
    http://joomlaforum.ru/index.php/topic,76577.0.html
    Вот еще
    Код:
    Virtuemart Transmenu sh404sef fix
    This post is to highlight the fix for Transmenu, due to which the urls are not generated for the sub menu items correctly when inside the sub-categories.
    The edit needs to be made in the following file
    modules/mod_virtuemart/vm_transmenu/transmenu.php
    [CODE]Search for the following text in the file:1	//echo "$row->name $row->link $level<br>";
    2	        if ($level){
    3	            $pmenu = "tmenu$row->parent";
    4	            //echo "$pmenu.addItem(\"$row->name\", \"$row->link\");\n";
    5	            $active = 0;
    6	            if ( in_array($row->id, $this->parent->open) ) $active = 1;
    7	            echo "$pmenu.addItem(\"$row->name\", \"$row->link\", $row->browserNav, $active);\n";
    8	        }
    in the function ‘genMenuItem’.
    After the
    view source
    print
    ?1
    Код:
    If (in_array($row->id, $this->parent->open) ) $active = 1;
    line, add the following line1
    Код:
    $row->link = $sess->url( SECUREURL . $row->link);
    That’s it! This should fix the issue and you should be able to happily use the sh404sef plugin with transmenu![/CODE]
    http://www.nandebayo.org/blog/?p=104
    http://joomseller.com/Joom-1.5-extensions/View-document-details/12-JA-Transmenu-hack.html
     
    inginiar нравится это.
  3. inginiar

    inginiar Создатель

    Регистр.:
    22 фев 2009
    Сообщения:
    16
    Симпатии:
    0
    Спасибо большое. Очень помогло, в плане подсказало направление движения. Хоть ни одна из ссылок не помогла решить проблему, но метод «научного тыка» еще ни кто не отменял. Расскажу, может кому поможет. Наиболее интересной оказалась инструкция как изменить файл transmenu.php, но моей версии VirtueMart оказалось уже есть та строка которую рекомендовалось вставить. И действуя по принципу: А это что за строка? А что будет если ее раскоментировать? Раскоментировав строку 108 удалось добиться появления дубликатов пунктов в подменю, которые уже довольно внятно определялись sh404SEF. А закоментирвав 112 строчку удалось добиться пропадания «неопределяемых» дубликатов. Прилагаю отрывки кода.
    До правки:
    PHP:
    105     //echo "$row->name $row->link $level<br>";
    106        if ($level){
    107            $pmenu "tmenu$row->parent";
    108            //echo "$pmenu.addItem(\"$row->name\", \"$row->link\");\n";
    109            $active 0;
    110            if ( in_array($row->id$this->parent->open) ) $active 1;
    111            $row->link $sess->urlSECUREURL $row->link);
    112            echo "$pmenu.addItem(\"$row->name\", \"$row->link\", $row->browserNav, 113     $active);\n";
    114        }
    После внесения изменений:
    PHP:
    105     //echo "$row->name $row->link $level<br>";
    106        if ($level){
    107            $pmenu "tmenu$row->parent";
    108            echo "$pmenu.addItem(\"$row->name\", \"$row->link\");\n";
    109            $active 0;
    110            if ( in_array($row->id$this->parent->open) ) $active 1;
    111            $row->link $sess->urlSECUREURL $row->link);
    112            //echo "$pmenu.addItem(\"$row->name\", \"$row->link\", $row->browserNav, 113     $active);\n";
    114        }
    Все теперь работает за исключением подсветки стилями пункта меню по умолчанию и того пункта на который перешел, но это не критично. Хотя если кто подскажет как и этот баг устранить или хотя бы расскажет, чего я тут вообще наворочал, буду премного благодарен.
    Примечание: Если кто решить использовать код, не забудьте удалить номера строк с левой стороны которые я дописал для наглядности.
     
  4. bellisims

    bellisims Создатель

    Регистр.:
    12 дек 2009
    Сообщения:
    31
    Симпатии:
    0
    я себе поставил erouter и вам советую... намного лучше работает как чпу.
     
  5. hipachka

    hipachka

    Регистр.:
    16 мар 2009
    Сообщения:
    391
    Симпатии:
    77
    Решил по другому.
    в функции genMenuItem в global переменные добавил $mm_action_url

    Было
    PHP:
    global $Itemid$mosConfig_live_site$mainframe$sess;
    стало
    PHP:
    global $Itemid$mosConfig_live_site$mainframe$sess$mm_action_url;
    И после этого подставил в вывод.

    Было:
    PHP:
    echo "$pmenu.addItem(\"$row->name\", \"$row->link\", $row->browserNav$active);\n";
    Стало
    PHP:
    echo "$pmenu.addItem(\"$row->name\", \"$mm_action_url$row->link\", $row->browserNav$active);\n";
    Но вот только ссылки там еще не "отсефеные" получаются, хотя все работает. И сеф после клика отрабатывает редирект.
     
Статус темы:
Закрыта.