[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать "хлебные крошки"?
bayanruby
Есть сайт, построенный на инклудах.
Как можно сделать хлебные крошки автоматом?

А то както каждую страницу настраивать на это долго.
Может скрипт есть какойнибудь?
Плохо что сразу движок не взял sad.gif

Структура сайта:
сайт/
сайт/раздел/
сайт/раздел/статья. (в основном так)

Примерно так представляю его функционал.
Скрипт, запрашивает у раздела его название из титла т.к. по сути только оно нам не известно и подставляет в анкор

Только как это сделать?)



Спустя 4 минуты, 26 секунд (4.06.2011 - 18:06) Игорь_Vasinsky написал(а):
mod_rewrite тебе в помощь wink.gif

Спустя 23 минуты, 21 секунда (4.06.2011 - 18:30) bayanruby написал(а):
Блин sad.gif
Вообще не знаю как написать.
Просто пока ещё не начал серьёзно изучать пхп.

Может поможите? ктонибудь.
Если не сложно конечно happy.gif

Спустя 6 минут, 40 секунд (4.06.2011 - 18:36) Игорь_Vasinsky написал(а):
тогда ты не стого начал изучат php.

Спустя 2 минуты, 48 секунд (4.06.2011 - 18:39) bayanruby написал(а):
Просто позарез нужно)
Конечно же я никого не заставляю, может повезёт и ктонибудь поможет smile.gif

Спустя 5 минут, 15 секунд (4.06.2011 - 18:44) Игорь_Vasinsky написал(а):
вот я те подсказываю = этим делом в apache занимается модуль мод реврайт, а называется это всё ЧПУ (человеко понятные урл), пока ждёшь можешб в гугле почитать про это. Тема не однократно поднималась - поиск есть.

Спустя 5 минут, 9 секунд (4.06.2011 - 18:50) bayanruby написал(а):
Вы наверно не поняли что я хочу сделать.
"Хлебные крошки" - это один из видов навигационного меню.
Пример: Форум PHP программистов ► PHP практикум ► PHP для начинающих

Форум посёрчил, для моей структуры сайта ничего не подходит, у меня на файлах всё, как бы.

Спустя 12 минут, 39 секунд (4.06.2011 - 19:02) Игорь_Vasinsky написал(а):
как объяснил - так и понял biggrin.gif про ХК слышал но не вникался в термин.

Спустя 23 минуты, 20 секунд (4.06.2011 - 19:26) bayanruby написал(а):
smile.gif
А их можно с помощью mod_rewrite сделать?
Или чтото другое здесь надо?

Спустя 2 минуты, 29 секунд (4.06.2011 - 19:28) Игорь_Vasinsky написал(а):
это замена ссылок типа
site.ru?act=articles&id=122&page=2

на
site.ru/articles/122/2

Спустя 19 минут, 8 секунд (4.06.2011 - 19:47) bayanruby написал(а):
Нет)
Вот видите на форуме в самом верху ссылки:
Форум PHP программистов(главная) ► PHP практикум(подраздел) ► PHP для начинающих(статьи)

Это и есть "хлебные крошки")
Они встречаются почти на всех сайтах.


Спустя 22 минуты, 52 секунды (4.06.2011 - 20:10) bayanruby написал(а):
Тоже вариант. smile.gif

Но мне тругие нужны.

Спустя 12 минут, 49 секунд (4.06.2011 - 20:23) neadekvat написал(а):
bayanruby, вряд ли можно вывести общее правило для хлебных крошек.
На каждом сайте они делаются по-своему. "Автоматически" здесь будет условным, т.к. сами по себе url и названия разделов ниоткуда не возьмуться. Т.е. надо увидеть некую систему разделов сайта, отсюда и плясать.
Например, я делаю практически вручную (т.е. на каждом типе страниц шаблон для хлебных крошек, источник url и названия разделов).

Про mod_rewrite - это стереотипы. Что-то похожее на адресную строку услышат - и сразу его вспоминают. Разве что стоит добавить, что хлебные крошки должны соответствовать ЧПУ, если таковое будет.
Т.е.
example.com/articles/article-123.html
А хлебные крошки:
Главная -> Статьия -> Статья 123.

Спустя 5 минут, 5 секунд (4.06.2011 - 20:28) Игорь_Vasinsky написал(а):
ну вот и можно читать урл - и по нему показывать путь, даж без мод реврайта.

www.site.ru/index.php&cat=articles&id=10&page=10


Осталось написать функцию с аргументом URL а в основе parse_url() ;)

Спустя 3 часа, 1 минута, 10 секунд (4.06.2011 - 23:29) bayanruby написал(а):
У меня чистые урл)
Сайт на файлах, для удобства инклюжу.
Вот короче http://www.gistoryja.ru/

Кто поможет сделать?
Оч надо, а не умею и денег нет =(

Может пример скрипта есть? В ПС нашёл только модули для КМСок.

Спустя 6 минут, 4 секунды (4.06.2011 - 23:35) Игорь_Vasinsky написал(а):
biggrin.gif biggrin.gif biggrin.gif
у тебя на сайте этот процесс ни как не автоматизировать. Это всё руками - да на каждой сьранице, а их там у тебя, судя по карте сайта дох biggrin.gif рище.

Спустя 1 минута, 42 секунды (4.06.2011 - 23:37) neadekvat написал(а):
Дак там простая структура: основные разделы сайта и раздел истории.
Где основные разделы - там линк на главную и название раздела.
Где история - линк на главную, линк на содержание, название главы.

Спустя 1 минута, 34 секунды (4.06.2011 - 23:38) bayanruby написал(а):
Цитата
Дак там простая структура: основные разделы сайта и раздел истории.
Где основные разделы - там линк на главную и название раздела.
Где история - линк на главную, линк на содержание, название главы.

Я та знаю), только как это автоматизировать?))

Спустя 1 минута, 27 секунд (4.06.2011 - 23:40) Игорь_Vasinsky написал(а):
нанять негров, человек 20. wink.gif

Спустя 1 минута, 2 секунды (4.06.2011 - 23:41) neadekvat написал(а):
Цитата (bayanruby @ 5.06.2011 - 00:38)
Я та знаю), только как это автоматизировать?))

А, стоп.. каждая страница - отдельный файл? Тогда печальнее.
Ладно. Хотя бы общий шаблон - он один, или тоже в каждом файле прописан?

Спустя 9 минут, 40 секунд (4.06.2011 - 23:51) bayanruby написал(а):
Один) всё как положено, в папке template))

Цитата
нанять негров, человек 20.

Я вот из принципа не беру движки, так во всегда был негром)) пока не надоело.
Вот потихоньку на "автомат" перехожу)

Спустя 2 минуты, 29 секунд (4.06.2011 - 23:53) Игорь_Vasinsky написал(а):
тогда вообще не вижу смысла, можно конечно - проверок 60 забобашить на урл....

Спустя 1 минута, 4 секунды (4.06.2011 - 23:54) bayanruby написал(а):
у меня ещё титл как переменная))

Спустя 2 минуты, 25 секунд (4.06.2011 - 23:57) Игорь_Vasinsky написал(а):
тогда, не так уж безнадёжно.

а как ты проверку делаешь для титла? он у тя оригинален для каждой страницы?

Спустя 6 минут, 41 секунда (5.06.2011 - 00:03) bayanruby написал(а):
Ээм, какбы свой велосипед рассказать хД
Короче говоря принцип работы сайта взял тут
Как там написано и построен мой сайт =)

Спустя 7 минут, 37 секунд (5.06.2011 - 00:11) neadekvat написал(а):
Вот функция для хлебных крошек:
/**
* Хлебные крошки
*
*
@param array "крошки" в формате адрес => имя
*
*
@return string готовая строка навигации
*/

function get_crumbs($data)
{
$crumbs[] = '<a href="'. HOST .'">Главная</a>';

foreach($data as $link => $text)
{
if ( ! is_numeric($link))
$crumbs[] = "<a href=\"{$link}\">$text</a>";
else
$crumbs[] = $text;
}

$crumbs = '<p class="crumbs">'. implode(' & raquo; ', $crumbs) . '</p>';

return $crumbs;
}


Пользоваться так:
$crumbs = get_crumbs(array('/refs' => 'Рефераты',
"/refs/$rubric_alias" => $rubric_name,
$ref_title
));

Константа HOST - адрес сайта. Она по умолчанию будет, ее в функцию передавать не надо.
Твоя задача, собственно, только передать правильные параметры. Где их достать только ты можешь понять, ибо твой сайт, твоя структура.

P.S. Да, еще в "& raquo;" надо убрать пробел - форум сразу интерпритирует это как кавычку.

Спустя 31 минута, 10 секунд (5.06.2011 - 00:42) bayanruby написал(а):
Блин sad.gif я вообще безнадёжен.
Как настроить и что надо вставлять на сайт ?
Извините за полное нубство user posted image

Спустя 1 час, 33 минуты, 1 секунда (5.06.2011 - 02:15) VELIK505 написал(а):
Цитата (bayanruby @ 4.06.2011 - 15:50)
у меня на файлах всё, как бы.

ты сам ответил на свой вопрос. В твоём случае только руками делать.

Спустя 5 часов, 59 минут, 35 секунд (5.06.2011 - 08:15) neadekvat написал(а):
bayanruby, я сразу сказал: универсального решения нет. Если, как ты выразился, совсем нуб - то пардон. Я здесь помогаю, а не учу с нуля.
Я уверен, полуавтоматизированное решение есть. Просто я его отсюда не увижу.
"Как, что и куда вставлять" - это вообще волшебный вопрос. Есть функция, есть пример использования и объяснение. Надо мозг сначала включить.

Спустя 9 часов, 57 минут, 26 секунд (5.06.2011 - 18:12) Guest написал(а):
=(
А можно сделать так:

допустим зашёл я в статью
сайт/раздел/статья

Скрипт берёт, както, урл и титл(с переменной)
делает сначала статью ссылкой, анкор - это титл(с переменной)
Потом идёт чуть ниже и делает раздел ссылкой, анкор - это титл(с переменной)
ну и наконец главную также.

Какбы попорядку сначала http://site.ru/razdel/stat'ya.php
потом http://site.ru/razdel/
и http://site.ru/
анкор ссылки берётся с титла(титл переменная у меня)

Спустя 27 секунд (5.06.2011 - 18:13) Guest написал(а):
блин, под гостем зашёл)

Спустя 2 минуты, 43 секунды (5.06.2011 - 18:15) neadekvat написал(а):
А почему нельзя? Делай, как тебе удобно.

Спустя 1 час, 4 минуты, 49 секунд (5.06.2011 - 19:20) Guest написал(а):
Я имею ввиду так можно в php? Всмысле есть такие функции или чтото типо того?

Спустя 9 минут, 29 секунд (5.06.2011 - 19:30) neadekvat написал(а):
Готовой - нет. Для разбора адресной строки - есть, уже называли: parse_url.

Спустя 12 минут, 29 секунд (5.06.2011 - 19:42) Guest написал(а):
А на Ваш взгляд это сложно сделать?
Или мне быстрей быстрей будет вручную всё сделать)
Хотя очень хочется автоматом smile.gif

Спустя 13 минут, 4 секунды (5.06.2011 - 19:55) neadekvat написал(а):
Я уже показал, как можно сделать почти автоматом. Почему я не делаю так, как ты предложил - потому что обязательно появится исключение из правила. А потом второе. И я приду к тому, что проще делать так, как делать)

Спустя 20 минут, 12 секунд (5.06.2011 - 20:15) tatti написал(а):
bayanruby
Тебе для этого лучше использовать nested sets. Правильно организуешь бд и класс работы с ней. Кто может сказать как? Гугл. Тема пережевана не раз и не два....

Спустя 2 часа, 21 минута, 16 секунд (5.06.2011 - 22:37) bayanruby написал(а):
У меня нет БД)
Всё на файлах.

Спустя 3 часа, 14 минут, 24 секунды (6.06.2011 - 01:51) tatti написал(а):
да хоть на гетах ) или type=хиддеНах

Спустя 6 часов, 52 минуты, 39 секунд (6.06.2011 - 08:44) twin написал(а):
Цитата
У меня чистые урл)
Сайт на файлах, для удобства инклюжу.

Руками напиши. Там ссылок то три штуки. smile.gif

Спустя 9 часов, 9 минут, 25 секунд (6.06.2011 - 17:53) Guest написал(а):
Очень хочется написать скриптик и автоматом всё сделать smile.gif

Спустя 23 часа, 47 минут, 50 секунд (7.06.2011 - 17:41) bayanruby написал(а):
Как сделать вот такое?

<?php

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

?>

Спустя 1 час, 12 минут, 3 секунды (7.06.2011 - 18:53) Игорь_Vasinsky написал(а):
Пример правила:
//Путь /index.php будет равен "/"
$wereiam = $_SERVER['PHP_SELF'];
if($wereiam == "/")
echo "Я на главной странице!";


вот так вот можно вывести страницу на которой ты находишся, с помошью этой глобальной переменной
echo $_SERVER['PHP_SELF'];

Спустя 24 минуты, 13 секунд (7.06.2011 - 19:17) Guest написал(а):
Ууу, круто)
Только когда так if($wereiam == "/") не работает
если вот так if($wereiam = "/") то работает wink.gif

Спустя 5 минут, 35 секунд (7.06.2011 - 19:23) bayanruby написал(а):
Хотя нет(
Когда вот так if($wereiam = "/")
у меня на всех страницах текст "Я на главной странице!"
Когда так if($wereiam == "/") ничего нет =(

Спустя 1 час, 22 минуты, 30 секунд (7.06.2011 - 20:45) bayanruby написал(а):
Короче поигрался я с $_SERVER['REQUEST_URI'] и всё заработало)
Вот только почему Ваш первый вариант не работает?
Может кто знает?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.