serv2012 0 Жалоба Опубликовано: April 20, 2014 Подскажите, где находится файл, отвечающий за вывод хлебных крошек. Мне нужно заменить в них наклонные слеши на стрелки. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: April 20, 2014 вообще в нескольких местах, в т.ч.apps\system\lib\sitebill_krascap.phpapps\system\lib\sitebill.phpв function get_breadcrumbs ( $items ) заменить символ / на свойНо, надо иметь ввиду, что исправление здесь только до следующего обновления ядра. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 20, 2014 вообщеapps\system\lib\sitebill_krascap.phpapps\system\lib\sitebill.phpв function get_breadcrumbs ( $items ) заменить символ / на свойНо, надо иметь ввиду, что исправление здесь только до следующего обновления ядра. Выводится по-прежнему, кеш чистил в админке и в браузерах. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: April 20, 2014 тогда конкретнее, где именно необходимо заменить? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: April 20, 2014 подозреваю, что apps\system\lib\sitebill.php$rs = implode(' / ', array_reverse($ra)); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 20, 2014 Вот здесь. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: April 20, 2014 если срочно, то пост выше. Но, правильнее, вариант переопределения в main.php. Тогда останется после обновления. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: April 21, 2014 Вот здесь.Тут/apps/system/lib/frontend/view/kvartira_view.php $breadcrumbs=$this->getBreadcrumbs($params); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 21, 2014 Не поверите, но ничего не изменилось. Как был наклонный слеш так и остался. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: April 21, 2014 чудес не бывает. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: April 22, 2014 Не поверите, но ничего не изменилось. Как был наклонный слеш так и остался.А что вы правили и что нужно чтобы появилось вместо слешей? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 23, 2014 А что вы правили и что нужно чтобы появилось вместо слешей?Вместо слешей должны были появиться стрелки вправо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: April 23, 2014 Вместо слешей должны были появиться стрелки вправо.Что правили для этого? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 25, 2014 После $breadcrumbs=$this->getBreadcrumbs($params); есть такое$this->template->assign('realty_breadcrumbs', explode(' → ', $breadcrumbs)); - здесь поставил стрелку вместо слеша Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: April 26, 2014 Было бы неплохо , если при наведении курсора мыши на разделы между стрелками, например на Продажа - выпадало Аренда, или при наведении на Квартира выпадало Дом, Комната, Дача и т.д. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: April 27, 2014 После $breadcrumbs=$this->getBreadcrumbs($params); есть такое$this->template->assign('realty_breadcrumbs', explode(' → ', $breadcrumbs)); - здесь поставил стрелку вместо слешаВ этой функции как раз идет разделение на составляющие. Explode - разделяет. Ищите по ключевому слову implode - тут нужно менять. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 27, 2014 Нигде в этом файле не нашел разделитель / в implode. Подскажите плиз. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: April 27, 2014 Было бы неплохо , если при наведении курсора мыши на разделы между стрелками, например на Продажа - выпадало Аренда, Вы имеете ввиду так? Тогда это уже не breadcrumbs, а полноценное меню получается. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Realtor 47 Жалоба Опубликовано: April 28, 2014 практически так, только нужно в детальном просмотре объявления Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 29, 2014 Так и не ответили на мой вопрос. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: April 30, 2014 Так и не ответили на мой вопрос.Если точнее то вот тут/apps/system/lib/sitebill.php /** * Get category breadcrumbs * @param array $params * @param array $category_structure * @param string $url * @return string */ function get_category_breadcrumbs( $params, $category_structure, $url = '' ) { $rs = ''; if ( !isset($params['topic_id']) || is_array($params['topic_id']) ) { return $rs; } //foreach ( $category_structure['childs'][0] as $item_id => $catalog_id ) { if($category_structure['catalog'][$params['topic_id']]['url']!=''){ $ra[] = '<a href="'.rtrim($url,'/').'/'.$category_structure['catalog'][$params['topic_id']]['url'].'">'.$category_structure['catalog'][$params['topic_id']]['name'].'</a>'; }else{ $ra[] = '<a href="'.rtrim($url,'/').'/topic'.$params['topic_id'].'.html">'.$category_structure['catalog'][$params['topic_id']]['name'].'</a>'; } $parent_category_id = $category_structure['catalog'][$params['topic_id']]['parent_id']; while ( $category_structure['catalog'][$parent_category_id]['parent_id'] != 0 ) { if ( $j++ > 100 ) { return; } if($category_structure['catalog'][$parent_category_id]['url']!=''){ $ra[] = '<a href="'.rtrim($url,'/').'/'.$category_structure['catalog'][$parent_category_id]['url'].'">'.$category_structure['catalog'][$parent_category_id]['name'].'</a>'; }else{ $ra[] = '<a href="'.rtrim($url,'/').'/topic'.$parent_category_id.'.html">'.$category_structure['catalog'][$parent_category_id]['name'].'</a>'; } $parent_category_id = $category_structure['catalog'][$parent_category_id]['parent_id']; } if ( $category_structure['catalog'][$parent_category_id]['name'] != '' ) { if($category_structure['catalog'][$parent_category_id]['url']!=''){ $ra[] = '<a href="'.rtrim($url,'/').'/'.$category_structure['catalog'][$parent_category_id]['url'].'">'.$category_structure['catalog'][$parent_category_id]['name'].'</a>'; }else{ $ra[] = '<a href="'.rtrim($url,'/').'/topic'.$parent_category_id.'.html">'.$category_structure['catalog'][$parent_category_id]['name'].'</a>'; } } $ra[]='<a href="'.SITEBILL_MAIN_URL.'/">'.Multilanguage::_('L_HOME').'</a>'; $rs = implode(' / ', array_reverse($ra)); return $rs; }НО!Если вы будете самостоятельно править этот файл, то работоспособность скрипта вам не гарантирую. И судя по вашим предыдущим постам, уже сломали что-то ) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serv2012 0 Жалоба Опубликовано: April 30, 2014 Ок, спасибо, гребаный макбук пересохраняет изменяемый файл в другой кодировке, поэтому невольно ломается))) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XTRO 154 Жалоба Опубликовано: May 24, 2014 Всё думал, что мне не нравилось в этой фичи, вроде всё работает.Оказалось: нет идеологии самих breadcrumbs, а именно : последний пункт должен быть не активной ссылкой (с точки зрения юзабилити).Чисто имхо (и с идеологией bootstrap v.3):Первый тэг <a> меняем на <li class="active">все остальные тэги <а> просто оборачиваем в <li>.Получаем как на картинке. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: May 25, 2014 Постараемся в будущих версиях все крошки вынести в массив, чтобы можно было так с ними работать. 1 Realtor reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: May 29, 2014 1. Базовый файл /apps/system/lib/frontend/view/kvartira_view.php2. Делаем /template/frontend/имя_шаблона/main/view/kvartira_view.php с содержимымclass Local_Kvartira_View extends Kvartira_View {}3. В /template/frontend/realia/main/main.phpнаходим двоестрочияrequire_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php');$kvartira_view = new Kvartira_View();и заменяем их наrequire_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/frontend/view/kvartira_view.php');require_once(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/main/view/local_kvartira_view.php');$kvartira_view = new Local_Kvartira_View(); 4. Теперь мы имеем свой локальный обработчик просмотра карточки.5. Из базового файла (п.1) тянем в свой файл (п.2) функцию protected function getBreadcrumbs($params){ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/structure/structure_manager.php'); $Structure_Manager = new Structure_Manager(); $category_structure = $Structure_Manager->loadCategoryStructure(); return $this->get_category_breadcrumbs( $params, $category_structure, SITEBILL_MAIN_URL.'/' );}6. И вот тут уже изголяемся. Можем придумать свой алгоритм ХК, можем использовать то, что есть.Напримерprotected function getBreadcrumbs($params){ require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/admin/structure/structure_manager.php'); $Structure_Manager = new Structure_Manager(); $category_structure = $Structure_Manager->loadCategoryStructure(); $bcstr=$this->get_category_breadcrumbs( $params, $category_structure, SITEBILL_MAIN_URL.'/' );$bcarray=explode(' / ', $bcstr);return implode('*', $bcarray);}В результате ХК склеенные звездочкой. Не самый оптимальный путь, но довольно быстрый. В целом, думаю, направление понятное. 1 XTRO reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах