Как убрать home page из вывода breadcrumbs

45 views
Skip to first unread message

progressive

unread,
May 31, 2011, 11:45:28 AM5/31/11
to Frog CMS RU
Как в хлебных крошках избавиться от вывода ссылки на home page? Т.е.
чтоб например вместо "Home Page > Продукция > Воздухообрабатывающие
блоки" выводилась строка "Продукция > Воздухообрабатывающие блоки"

Александр Маслаков

unread,
May 31, 2011, 3:50:44 PM5/31/11
to frog-...@googlegroups.com
Можно написать собственную функцию-сниппет по типу:

function my_breadcrumbs( $page, $separator = '»', $end_level = 1 )
{
        $url = '';
        $path = '';
        $paths = explode('/', '/'.$page->slug);
        $nb_path = count($paths);
        
        $out = '<div class="breadcrumb">'."\n";
        
        if ($page->parent && $page->level != $end_level)
            $out .= my_breadcrumbs($page->parent, $separator);
        
        return $out . '<span class="breadcrumb-current">'.$page->breadcrumb().'</span></div>'."\n";
}

Вызывать:

my_breadcrumbs( $this, '&gt;', 1 );


Параметры:

$page - страница от которой будут строиться хлебные крошки.
$separator - разделитель
$end_level - до какого уровня брать крошки

31 мая 2011 г. 18:45 пользователь progressive <progres...@gmail.com> написал:
Как в хлебных крошках избавиться от вывода ссылки на home page? Т.е.
чтоб например вместо "Home Page > Продукция > Воздухообрабатывающие
блоки" выводилась строка "Продукция > Воздухообрабатывающие блоки"

--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком
группы "Frog CMS RU" в Группах Google.
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
frog-...@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
frog-cms-ru...@googlegroups.com
Чтобы выполнить другие действия, посетите страницу группы
http://groups.google.ru/group/frog-cms-ru?hl=ru



--
С уважением, Маслаков Александр.
Разработка сайтов: дизайн, программирование, подготовка информации, сопровождение

Портфолио: http://up.dn.ua/
Тел.: +38 099 669–15–06
Эл. почта: jmas.u...@gmail.com
Skype: maslakov.alexandre

Александр Маслаков

unread,
May 31, 2011, 3:51:23 PM5/31/11
to frog-...@googlegroups.com
Точнее

echo my_breadcrumbs( $this, '&gt;', 1 );

31 мая 2011 г. 22:50 пользователь Александр Маслаков <jmas.u...@gmail.com> написал:

Александр Маслаков

unread,
Jun 1, 2011, 3:02:35 AM6/1/11
to frog-...@googlegroups.com
И еще попрвавочка:

if ($page->parent && $page->level > $end_level)

31 мая 2011 г. 22:51 пользователь Александр Маслаков <jmas.u...@gmail.com> написал:

progressive

unread,
Jun 1, 2011, 8:56:35 AM6/1/11
to Frog CMS RU
Создал сниппет my_breadcrumbs со следующим содержанием:

function my_breadcrumbs( $page, $separator = '&raquo;', $end_level =
1 )
{
$url = '';
$path = '';
$paths = explode('/', '/'.$page->slug);
$nb_path = count($paths);

$out = '<div class="breadcrumb">'."\n";

if ($page->parent && $page->level > $end_level)
$out .= my_breadcrumbs($page->parent, $separator);

return $out . '<span
class="breadcrumb-current">'.$page->breadcrumb().'</span></
div>'."\n";

}

Вызываю ее в шаблоне <?php echo my_breadcrumbs( $this, '&gt;', 1 ); ?>
- не работает. Что делаю не так?

Александр Маслаков

unread,
Jun 1, 2011, 9:00:58 AM6/1/11
to frog-...@googlegroups.com
Перепишите немного сниппет (назовите его my_breadcrumbs):

if( !function_exists('my_breadcrumbs') )
{

function my_breadcrumbs( $page, $separator = '&raquo;', $end_level =
1 )
 {
        $url = '';
        $path = '';
        $paths = explode('/', '/'.$page->slug);
        $nb_path = count($paths);

       $out = '<div class="breadcrumb">'."\n";

       if ($page->parent && $page->level > $end_level)
            $out .= my_breadcrumbs($page->parent, $separator);

       return $out . '<span
 class="breadcrumb-current">'.$page->breadcrumb().'</span></
div>'."\n";

}

}

И подключайте сниппет таким образом:

<?php $this->includeSnippet('my_breadcrumbs'); echo my_breadcrumbs( $this, '&gt;', 1 ); ?>

1 июня 2011 г. 15:56 пользователь progressive <progres...@gmail.com> написал:

--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком
группы "Frog CMS RU" в Группах Google.
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
frog-...@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу:
frog-cms-ru...@googlegroups.com
Чтобы выполнить другие действия, посетите страницу группы
http://groups.google.ru/group/frog-cms-ru?hl=ru

progressive

unread,
Jun 1, 2011, 10:31:12 AM6/1/11
to Frog CMS RU
Опять не заработало. Изменилось только то, что теперь в тел страницы
сначала выводится код сниппета, и дальше обработка страницы
прерывается. Может можно как-то в файле самой CMS поковырять это. Мне
надо чтоб на всех страницах с "крошками" выводились они без ссылки на
главнцю страницу.

On 1 июн, 17:00, Александр Маслаков <jmas.ukra...@gmail.com> wrote:
> Перепишите немного сниппет (назовите его my_breadcrumbs):
>
> if( !function_exists('my_breadcrumbs') )
> {
>
> function my_breadcrumbs( $page, $separator = '&raquo;', $end_level =
> 1 )
>  {
>         $url = '';
>         $path = '';
>         $paths = explode('/', '/'.$page->slug);
>         $nb_path = count($paths);
>
>        $out = '<div class="breadcrumb">'."\n";
>
>        if ($page->parent && $page->level > $end_level)
>             $out .= my_breadcrumbs($page->parent, $separator);
>
>        return $out . '<span
>  class="breadcrumb-current">'.$page->breadcrumb().'</span></
> div>'."\n";
>
> }
> }
>
> И подключайте сниппет таким образом:
>
> <?php $this->includeSnippet('my_breadcrumbs'); echo my_breadcrumbs( $this,
> '&gt;', 1 ); ?>
>
> 1 июня 2011 г. 15:56 пользователь progressive

> <progressive....@gmail.com>написал:

> Тел.: +38 099 669-15-06
> Эл. почта: jmas.ukra...@gmail.com
> Skype: maslakov.alexandre

Александр Маслаков

unread,
Jun 1, 2011, 11:11:56 AM6/1/11
to frog-...@googlegroups.com
Какую версию Frog вы используете?

Если ту, которую скачали на frogcms.in.ua (1.0.7 Beta), тогда открывайте файл: frog/app/models/FrontPage.php

В поиске задайте "function _inversedBreadcrumbs", найдите участок кода:

if ($this->parent)

И добавьте проверку уровня вложенности:

if ($this->parent && $this->level > 1)

P.S.: Если у вас старая версия FrogCMS 0.9.5, необходимо искать в файле: frog/classes/Page.php

1 июня 2011 г. 17:31 пользователь progressive <progres...@gmail.com> написал:

progressive

unread,
Jun 1, 2011, 6:43:52 PM6/1/11
to Frog CMS RU
Нет, Александр. Использую версию 0.9.5

On 1 июн, 19:11, Александр Маслаков <jmas.ukra...@gmail.com> wrote:
> Какую версию Frog вы используете?
>
> Если ту, которую скачали на frogcms.in.ua (1.0.7 Beta), тогда открывайте
> файл: frog/app/models/FrontPage.php
>
> В поиске задайте "function _inversedBreadcrumbs", найдите участок кода:
>
> if ($this->parent)
>
> И добавьте проверку уровня вложенности:
>
> if ($this->parent && $this->level > 1)
>
> P.S.: Если у вас старая версия FrogCMS 0.9.5, необходимо искать в
> файле: frog/classes/Page.php
>
> 1 июня 2011 г. 17:31 пользователь progressive

> <progressive....@gmail.com>написал:

Reply all
Reply to author
Forward
0 new messages