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

Vaska

  • Осваиваюсь на форуме
  • 29
  • 0 / 2
Mambo 4.5 не включается pathway
« : 20.05.2017, 04:57:01 »
Доброго времени суток, всем!

Есть два сайта на Mambo 4.5.
Это та мамба, у которой ещё не было директории includes/, а вместо неё есть директория classes/.
В корне сайта лежит файл pathway.php, который отвечает за вывод хлебных крошек.
На одном сайте вывод крошек работает, а на другом не работал, мне не нужно было.
Сейчас захотел включить.
В шаблон добавил <?php include "pathway.php";?>
Файл подключился и стал выводить HTML-код
Код
<span class="pathway"> </span>
но информацию не выводит.

Даже не знаю на что смотреть.
В админке всё облазил и не нашел, чтобы эта фишка как-то дополнительно включалась или выключалась.
В файле конфигурации тоже вроде нет параметра, который за это отвечает.
Значит, после того как я в шаблон добавил инклуд файла pathway.php, то должно было сразу заработать. Но не работает.

Есть какие-то мысли?

Вот сам код файла pathway.php (на обоих сайтах содержимое одинаковое)
Код
<?php

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

function pathwayMakeLink( $id, $name, $link, $parent ) {
$mitem = new stdClass();
$mitem->id = $id;
$mitem->name = $name;
$mitem->link = $link;
$mitem->parent = $parent;
$mitem->type = '';
return $mitem;
}

/**
* Outputs the pathway breadcrumbs
* @param database A database connector object
* @param int The db id field value of the current menu item
*/
function showPathway( $Itemid ) {
global $database, $option, $task;
global $SERVER_SOFTWARE, $QUERY_STRING, $REQUEST_URI;

// get the home page
$database->setQuery( "SELECT id, link"
. "\nFROM #__menu"
. "\nWHERE menutype='mainmenu' AND published='1'"
. "\nORDER BY parent, ordering LIMIT 1"
);
$home_menu = new mosMenu( $database );
$database->loadObject( $home_menu );
echo $database->getErrorMsg();

// the the whole menu array and index the array by the id
$database->setQuery( "SELECT id, name, link, parent, type"
. "\nFROM #__menu"
. "\nWHERE published='1'"
. "\nORDER BY parent, ordering"
);
$mitems = $database->loadObjectList( 'id' );
echo $database->getErrorMsg();

$isWin = (substr(PHP_OS, 0, 3) == 'WIN' && stristr ( $SERVER_SOFTWARE, "microsoft"));
$optionstring = $isWin ? $QUERY_STRING : $REQUEST_URI;

// are we at the home page or not
$homekeys = array_keys( $mitems );
$home = @$mitems[$home_menu->id]->name;
$path = "";

// this is a patch job for the frontpage items! aje
if ($Itemid == $home_menu->id) {
switch ($option) {
case 'content':
$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );
if ($task=='blogsection'){

$database->setQuery( "SELECT title FROM #__sections WHERE id=$id" );
} else if ($task=='blogcategory') {
$database->setQuery( "SELECT title FROM #__categories WHERE id=$id" );
} else {
$database->setQuery( "SELECT title, catid FROM #__content WHERE id=$id" );
}

$row = null;
$database->loadObject( $row );
echo $database->getErrorMsg();

$id = max( array_keys( $mitems ) ) + 1;

// add the content item
$mitem2 = pathwayMakeLink(
$Itemid,
$row->title,
"",
1
);
$mitems[$id] = $mitem2;
$Itemid = $id;

$home = "<a href=\"".sefRelToAbs("index.php")."\" class=\"pathway\">$home</a>";
break;

}
}

switch( @$mitems[$Itemid]->type ) {
case 'content_section':
$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );

switch ($task) {
case 'category':
if ($id) {
$database->setQuery( "SELECT title FROM #__categories WHERE id=$id" );
$title = $database->loadResult();
echo $database->getErrorMsg();

$id = max( array_keys( $mitems ) ) + 1;
$mitem = pathwayMakeLink(
$id,
$title,
"index.php?option=$option&amp;task=$task&amp;id=$id&amp;Itemid=$Itemid",
$Itemid
);
$mitems[$id] = $mitem;
$Itemid = $id;
}
break;

case 'view':
if ($id) {
// load the content item name and category
$database->setQuery( "SELECT title, catid FROM #__content WHERE id=$id" );
$row = null;
$database->loadObject( $row );
echo $database->getErrorMsg();

// load and add the category
$database->setQuery( "SELECT c.title AS title, s.id AS sectionid "
."FROM #__categories AS c "
."LEFT JOIN #__sections AS s "
."ON c.section=s.id "
."WHERE c.id=$row->catid" );
$result = $database->loadObjectList();
echo $database->getErrorMsg();
$title = $result[0]->title;
$sectionid = $result[0]->sectionid;

$id = max( array_keys( $mitems ) ) + 1;
$mitem1 = pathwayMakeLink(
$Itemid,
$title,
"index.php?option=$option&amp;task=category&amp;sectionid=$sectionid&amp;id=$row->catid",
$Itemid
);
$mitems[$id] = $mitem1;

// add the final content item
$id++;
$mitem2 = pathwayMakeLink(
$Itemid,
$row->title,
"",
$id-1
);
$mitems[$id] = $mitem2;
$Itemid = $id;

}
break;
}
break;

case 'content_category':
$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );

switch ($task) {

case 'view':
if ($id) {
// load the content item name and category
$database->setQuery( "SELECT title, catid FROM #__content WHERE id=$id" );
$row = null;
$database->loadObject( $row );
echo $database->getErrorMsg();

$id = max( array_keys( $mitems ) ) + 1;
// add the final content item
$mitem2 = pathwayMakeLink(
$Itemid,
$row->title,
"",
$Itemid
);
$mitems[$id] = $mitem2;
$Itemid = $id;

}
break;
}
break;

case 'content_blog_category':
case 'content_blog_section':
switch ($task) {
case 'view':
$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );

if ($id) {
// load the content item name and category
$database->setQuery( "SELECT title, catid FROM #__content WHERE id=$id" );
$row = null;
$database->loadObject( $row );
echo $database->getErrorMsg();

$id = max( array_keys( $mitems ) ) + 1;
$mitem2 = pathwayMakeLink(
$Itemid,
$row->title,
"",
$Itemid
);
$mitems[$id] = $mitem2;
$Itemid = $id;

}
break;
}
break;
}

$i = count( $mitems );
$mid = $Itemid;

while ($i--) {
if (!$mid || empty( $mitems[$mid] ) || $mid == 1 || !eregi("option", $optionstring)) {
break;
}
$item =& $mitems[$mid];

// if it is the current page, then display a non hyperlink
if ($item->id == $Itemid || empty( $mid ) || empty($item->link)) {
$newlink = "  $item->name";
} else if (isset($item->type) && $item->type == 'url') {
$correctLink = eregi("http://", $item->link);
if ($correctLink==1) {
$newlink = "<a href=\"$item->link\" target=\"_window\" class=\"pathway\">$item->name</a>";
} else {
$newlink = "http://$link";
}
} else {
$newlink = "  <a href=\"".sefRelToAbs($item->link."&amp;Itemid=".$item->id)."\" class=\"pathway\">$item->name</a>";
}

if (trim($newlink)!="") {
$path = " <img src=\"images/M_images/arrow.png\" border=\"0\" alt=\"arrow\" /> $newlink $path";
} else {
$path = "";
}

$mid = $item->parent;
}

if (eregi( "option", $optionstring ) && trim( $path )) {
$home = "<a href=\"".sefRelToAbs("index.php")."\" class=\"pathway\">$home</a>";
}

echo ("<span class=\"pathway\">$home $path</span>");
}

// code placed in a function to prevent messing up global variables
showPathway( $Itemid );
?>

*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: Mambo 4.5 не включается pathway
« Ответ #1 : 20.05.2017, 11:04:55 »
А почему вы не перенесете свои сайты на новую версию Joomla ?
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

Vaska

  • Осваиваюсь на форуме
  • 29
  • 0 / 2
Re: Mambo 4.5 не включается pathway
« Ответ #2 : 20.05.2017, 20:14:21 »
А почему вы не перенесете свои сайты на новую версию Joomla ?
Потому, что мне это не нужно.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Mambo 4.5 не включается pathway
« Ответ #3 : 20.05.2017, 21:11:39 »
Похоже не работает mosGetParam( $_REQUEST, 'id', 0 )
т.е. в ссылке нет параметра id.
*

Vaska

  • Осваиваюсь на форуме
  • 29
  • 0 / 2
Re: Mambo 4.5 не включается pathway
« Ответ #4 : 20.05.2017, 22:48:46 »
mosGetParam используется во всех файлах мамбо и везде вроде всё работает.
Все меню же работают как надо.
Может что-то ещё?
*

Vaska

  • Осваиваюсь на форуме
  • 29
  • 0 / 2
Re: Mambo 4.5 не включается pathway
« Ответ #5 : 25.05.2017, 02:45:44 »
Выяснилось, что pathway работает, только как-то не полностью.
Если я нахожусь в категории контента, то pathway ничего не выводит, если я иду дальше в подкатегорию контента, то pathway показывает название категории. А должен показывать название подкатегории.
Как это исправить?
Что-то нужно дописывать?
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Mambo 4.5 не включается pathway
« Ответ #6 : 25.05.2017, 08:44:45 »
1 Может меню у вас не создано, или неправильно выводится как вариант.
2 Попробуйте файл с другого сайта подключить.
3 Можно еще с параметрами вывода поиграться если не будет результата по п.1 и п.2
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как сделать последний пункт в pathway ссылкой?

Автор maxmus_bit

Ответов: 5
Просмотров: 3118
Последний ответ 14.05.2012, 16:32:24
от maxmus_bit
Где включается модуль "Путь" (PathWay)

Автор Oriy

Ответов: 4
Просмотров: 2491
Последний ответ 09.09.2009, 17:44:47
от zvolle
Как убрать pathway со статичной на главной?

Автор Derrr

Ответов: 3
Просмотров: 2306
Последний ответ 15.04.2009, 01:33:14
от Derrr
pathway как отобразить его два раза

Автор noripsorg

Ответов: 2
Просмотров: 2013
Последний ответ 26.01.2009, 14:26:39
от doctorgrif
Как убрать ссылки с pathway

Автор Dimich

Ответов: 2
Просмотров: 1639
Последний ответ 23.01.2009, 16:13:14
от Фей