Хлебные крошки (пути по сайту)

Автор Tjom, 12 ноября 2008, 02:00:34

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Tjom

Привет!

Относительно хлебных крошек хочется сделать
- заменить знак разделителя в хлебных крошках с "|" на ">" (как на этом сайте)
- убрать слово "Тема:" перед названием темы

Прошу подсказать - где и что надо менять?

Спасибо!

Kornak

Присоединяюсь... Так-же интересует... ;)
© Kornak 2004-2015

۞ Скутерклуб - http://proscooters.ru/

oldcopy

В коде шаблона поищите вывод этой строки, а там все что в голову придет сделать можно.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

Tjom

Ну.. если бы были хорошие знания по php, то и не обращался бы сюда :)

Нашел где производится вывод "хлебных крошек" - в шаблоне "index.template.php" искомой темы.

// Show a linktree.  This is that thing that shows "My Community | General Category | General Discussion"..
function theme_linktree()
{
global $context, $settings, $options;

// Folder style or inline?  Inline has a smaller font.
echo '<span class="nav"', $settings['linktree_inline'] ? ' style="font-size: smaller;"' : '', '>';

// Each tree item has a URL and name.  Some may have extra_before and extra_after.
foreach ($context['linktree'] as $link_num => $tree)
{
// Show the | | |-[] Folders.
if (!$settings['linktree_inline'])
{
if ($link_num > 0)
echo str_repeat('<img src="' . $settings['images_url'] . '/icons/linktree_main.gif" alt="| " border="0" />', $link_num - 1), '<img src="' . $settings['images_url'] . '/icons/linktree_side.gif" alt="|-" border="0" />';
echo '<img src="' . $settings['images_url'] . '/icons/folder_open.gif" alt="+" border="0" />&nbsp; ';
}

// Show something before the link?
if (isset($tree['extra_before']))
echo $tree['extra_before'];

// Show the link, including a URL if it should have one.
echo '<b>', $settings['linktree_link'] && isset($tree['url']) ? '<a href="' . $tree['url'] . '" class="nav">' . $tree['name'] . '</a>' : $tree['name'], '</b>';

// Show something after the link...?
if (isset($tree['extra_after']))
echo $tree['extra_after'];

// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
echo $settings['linktree_inline'] ? ' &nbsp;>&nbsp; ' : '<br />';
}

echo '</span>';
}


Поменять разделитель легко - в конце этого кода участок "&nbsp;>&nbsp;". Вставляем в качестве разделитееля, то что нам надо.

Но не могу понять - какие переменные отвечают за вывод слова "Тема:"?
Видимо само слово находится в другом месте - скорее всего в Themes / default / languages / index.russian.php
Только там переменных со словом "Тема" - куча. Какая из них? Или может вообще не там?

Кто разбирается в коде - прошу помочь.

RedFire2017

Вы правильно предположили, что переменная со словом "Тема" находится в файле  index.russian.php. :) Она имеет №118:

// Use numeric entities in the below string.
$txt[118] = 'Тема';

Kornak

Если я правильно понимаю логичнее её из темплейт пхп убрать ($txt[118]) чем в ленгридже оставить пустым поле ($txt[118] = '') при втором случае будут ошибки в админке валится по моему...
© Kornak 2004-2015

۞ Скутерклуб - http://proscooters.ru/

Tjom

#6
Спасибо большое!

Если не секрет - как из кода стало понятно что именно $txt[118] отвечает за вывод "Тема" в этом участке кода? Там вроде нигде не присутствует 118...

И еще ,если просто убрать "Тема", то двоеточие на сайте остается. Где оно находится и как его убрать?

Mavn

найдите функцию генерации linktree там все прописывается
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

RedFire2017

Цитата: Kornak от 12 ноября 2008, 17:26:33
Если я правильно понимаю логичнее её из темплейт пхп убрать ($txt[118]) чем в ленгридже оставить пустым поле ($txt[118] = '') при втором случае будут ошибки в админке валится по моему...
Вообще-то, да. Я тему мельком прочёл и подумал, что требуется заменить слово "Тема" каким-то другим. Отсюда и совет. Сейчас исправлюсь.
Цитата: Tjom от 12 ноября 2008, 20:05:11
Спасибо большое!
Если не секрет - как из кода стало понятно что именно $txt[118] отвечает за вывод "Тема" в этом участке кода? Там вроде нигде не присутствует 118...
Всё свободное время посвящаю коду SMF :)
ЦитироватьИ еще ,если просто убрать "Тема", то двоеточие на сайте остается. Где оно находится и как его убрать?
Найдите в каталоге Sources файл Display.php, а в нём следующий код:
// Build the link tree.
$context['linktree'][] = array(
'url' => $scripturl . '?topic=' . $topic . '.0',
'name' => $topicinfo['subject'],
'extra_before' => $settings['linktree_inline'] ? $txt[118] . ': ' : ''
);

Здесь происходит вывод и строковой переменной №118, и двоеточия после неё.

Tjom

Для тех, кто такой же спец по пхп как и я  :) - решение.

В вышеуказанном файле надо полностью убрать
,
'extra_before' => $settings['linktree_inline'] ? $txt[118] . ': ' : ''


Эта строчка является условием при котором выводится переменная $txt[118] и двоеточие перед ней.
Также не забудьте убрать запятую ДО этой срочки