За последние 24 часа нас посетили 17725 программистов и 1609 роботов. Сейчас ищут 1162 программиста ...

Поправить breadcrumb.php

Тема в разделе "Сделайте за меня", создана пользователем 7373363, 30 июн 2015.

  1. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Как убрать ссылку на саму себя? код:
    Код (PHP):
    1. <nav class="breadcrumb clearfix">
    2.     <?php $furl = "";?>
    3.     <?php if($this->Breadcrumbs): ?>
    4.     <ul>
    5.         <?php foreach($this->Breadcrumbs as $br): ?>
    6.             <?php $furl .= ($br['url']!='/')"/".$br['url']:""; ?>
    7.             <?php if(isset($br['title'])): ?>
    8.                 <li><?= ($furl)?"/ ":""; ?>[url="<?= ($furl)?$furl:"]<?php echo $br['title'] ?>[/url]</li>
    9.             <?php endif; ?>
    10.         <?php endforeach; ?>
    11.     </ul>
    12.     <?php endif; ?>
    13. </nav>
    Спасибо!
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    У меня кровь пошла глазами. Код как будто из шаблона Битрикса взят. Хотя бы в теги согласно правилам оформления обрами, чтоль. Я про
    Код (Text):
    1.  
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Давайте гадать
    Код (PHP):
    1. <?php if(isset($br['title']) && $furl !== $_SERVER['QUERY_STRING']): ?>
     
  4. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    хах)) забавно) (про код) - ок буду иметь ввиду

    Добавлено спустя 5 минут 9 секунд:
    Не ... это убивает вообще ссылку на главную.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    ссылка на саму себя случайно не является последней в списке? а то array_pop() в помощь!
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Попытка номера два
    Код (PHP):
    1. <?php if(isset($br['title']) && $furl !== $_SERVER['QUERY_STRING'] && $furl !== '/'): ?>
     
  7. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Также главная убирается

    Добавлено спустя 38 секунд:
    да последняя в списке.
    более предметно можно? что и куда вставить
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    ну вот опять! ))) нет, брат, дальше сам.
     
  9. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Кругом все хотят жар чужими руками загребать )))
    ок попробую сам, может разберусь!
    НО все-равно жду помощи ))
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    натрави на $this->Breadcrumbs ту функцию что тебе предлагали
     
  11. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Если так, то тоже не работает
    Код (Text):
    1. <nav class="breadcrumb clearfix">
    2.     <?php $furl = "";?>
    3.     <?php if($this->Breadcrumbs): ?>
    4.     <ul>
    5.         <?php $breadlast = array_pop($br); foreach($this->Breadcrumbs as $br): ?>
    6.             <?php $furl .= ($br['url']!='/')? "/".$br['url']:""; ?>
    7.             <?php if(isset($br['title'])): ?>
    8.                 <li><?= ($furl)?"&#47;&nbsp;":""; ?><a href="<?= ($furl)?$furl:"/" ?>"><?php echo $br['title'] ?><?php echo $br['text']; ?></a></li>
    9.                 <li><?php echo $br['text']; ?></li>
    10.             <?php endif; ?>
    11.         <?php endforeach; ?>
    12.     </ul>
    13.     <?php endif; ?>
    14. </nav>
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Так твой жар же. И руки твои. Какие претензии к окружающим-то?
     
  13. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Ты немного не понял, никаких претензий )
    Все ок!
    "все" - это я, "чужими руками" - это твоими )
    Обычно так говорят когда делать ничего не хочешь (в моем случае не можешь), а результат нужен
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    7373363 я конкретно написал на какую переменную натравить, перечитай моё сообщение ещё раз, а код ты вставил в правильное место
     
  15. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Натравил)) не работает, или я что-то не так сделал:
    Код (PHP):
    1. <nav class="breadcrumb clearfix">
    2.    <?php $furl = "";?>
    3.    <?php if($this->Breadcrumbs = array_pop($br)): ?>
    4.    <ul>
    5.       <?php $breadlast = array_pop($br); foreach($this->Breadcrumbs as $br): ?>
    6.          <?php $furl .= ($br['url']!='/')"/".$br['url']:""; ?>
    7.          <?php if(isset($br['title'])): ?>
    8.             <li><?= ($furl)?"/ ":""; ?>[url="<?= ($furl)?$furl:"]<?php echo $br['text']; ?>[/url]</li>
    9.              <li><?php echo $br['text']; ?></li>
    10.          <?php endif; ?>
    11.       <?php endforeach; ?>
    12.    </ul>
    13.    <?php endif; ?>
    14. </nav>
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  16. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    7373363, вы чего мучаете php коду так жеско.

    делай так

    Код (PHP):
    1. <?php
    2.  
    3. class Breadcrumbs
    4. {
    5.     public $items = array();
    6.  
    7.     public function addItem($text, $url)
    8.     {
    9.         return $this->items[] = new Item($text, $url);
    10.     }
    11. }
    12.  
    13. class Item
    14. {
    15.     public
    16.         $url = '/',
    17.         $name,
    18.         $is_home = false,
    19.         $is_current = false;
    20.  
    21.     function __construct($text, $url)
    22.     {
    23.         $this->name = $text;
    24.         $this->url = $url;
    25.     }
    26. }
    27.  
    28. $breadcrumbs = new Breadcrumbs();
    29. $breadcrumbs->addItem('Главная страница', '/')->is_home = true;
    30. $breadcrumbs->addItem('Новости', '/news');
    31. $breadcrumbs->addItem('Создать новости', '/news/add')->is_current = true;
    32.  
    33. echo '<div id="breadcrumbs">';
    34. foreach($breadcrumbs->items AS $item) {
    35.     if($item->is_current) {
    36.         echo '<span>' . $item->name . '</span>';
    37.     } else {
    38.         echo '[url="' . $item->url . '"]name . '[/url]';
    39.     }
    40. }
    41. echo '</div>';
    42.  
    Все очень просто чем вы мучать код!
     
  17. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    7373363 хватит стрелять себе в ногу, сравни
    viewtopic.php?f=36&t=53785#p430164
    и
    viewtopic.php?f=36&t=53785#p430170

    тебе я посоветовал в первом поменять только переменную, а ты переменную не поменял, зато добавил оператор присвоения, добавил ещё функцию, а мой совет по которому можно было поменять только одну переменную в дописанный тобой код viewtopic.php?f=36&t=53785#p430170 ты не сделал.

    Тут поменяй переменную в функции на ту что я рекомендовал, в этом коде viewtopic.php?f=36&t=53785#p430170
    Код (PHP):
    1. $breadlast = array_pop($br); 
     
  18. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    ТАК?
    Код (PHP):
    1. <nav class="breadcrumb clearfix">
    2.    <?php $furl = "";?>
    3.    <?php if($this->Breadcrumbs = array_pop($br)): ?>
    4.    <?php $fruit = array_pop($br): ?>
    5.    <ul>
    6.       <?php $breadlast = array_pop($br); foreach($this->Breadcrumbs as $br): ?>
    7.          <?php $furl .= ($br['url']!='/')"/".$br['url']:""; ?>
    8.          <?php if(isset($br['title'])): ?>
    9.             <li><?= ($furl)?"/ ":""; ?>[url="<?= ($furl)?$furl:"]<?php echo $br['text']; ?>[/url]</li>
    10.              <li><?php echo $br['text']; ?></li>
    11.          <?php endif; ?>
    12.       <?php endforeach; ?>
    13.    </ul>
    14.    <?php endif; ?>
    15. </nav>
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  19. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    viewtopic.php?f=36&t=53785#p430164 в этом коде
    это
    Код (PHP):
    1. $breadlast = array_pop($br); 
    замени на это
    Код (PHP):
    1. $breadlast = array_pop($this->Breadcrumbs); 
    тебе основы программирования и понятие алгоритмы бы подучить
     
  20. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Код (PHP):
    1. <nav class="breadcrumb clearfix">
    2.    <?php $furl = "";?>
    3.    <?php if($this->Breadcrumbs): ?>
    4.    <ul>
    5.       <?php $breadlast = array_pop($this->Breadcrumbs); foreach($this->Breadcrumbs as $br): ?>
    6.          <?php $furl .= ($br['url']!='/')"/".$br['url']:""; ?>
    7.          <?php if(isset($br['title'])): ?>
    8.             <li><?= ($furl)?"/ ":""; ?>[url="<?= ($furl)?$furl:"]<?php echo $br['text']; ?>[/url]</li>
    9.              <li><?php echo $br['text']; ?></li>
    10.          <?php endif; ?>
    11.       <?php endforeach; ?>
    12.    </ul>
    13.    <?php endif; ?>
    14. </nav>
    Спасибо)
    А возможно сделать так, как я сразу хотел, чтобы в цепочке страница на какой находишься была, но была не активной ссылкой? (щас ее нет вообще)
     
  21. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Да можно, подожди, может кто-то сделает за тебя
     
  22. 7373363

    7373363 Новичок

    С нами с:
    30 июн 2015
    Сообщения:
    15
    Симпатии:
    0
    Ок. Я именно в этом разделе)
    спасибо за помощь
     
  23. Catrina

    Catrina Новичок

    С нами с:
    24 апр 2015
    Сообщения:
    321
    Симпатии:
    0
    Тогда напишите маленько код (с) :)