I

iDrevniy

+1 в карму :) Спасибо!
+38
Репутация
1
Рейтинг
#1 Как изменить глубиномер 2 октября 2017 в 13:19


  1.  
  2. if($childs){
  3. if (!empty($childs['tabs'])){
  4. foreach($childs['tabs'] as $relation_name => $relation){
  5. $this->addBreadcrumb($relation['title'], href_to($relation_name));
  6. }
  7. }
  8. if (!empty($childs['lists'])){
  9. foreach($childs['lists'] as $relation){
  10. $this->addBreadcrumb($relation['title'], href_to($relation['ctype_name']));
  11. }
  12. }
  13. }
  14.  

Loadырь

Спасибо! Но не пашет. Думаю потому, что в вашем коде идет проверка на дочерние записи, а их как раз нет, поскольку запись сама дочерняя. Нам нужно найти родителя.

Любо я туплю.
#2 Как изменить глубиномер 2 октября 2017 в 13:01
Эту темку можно как пожелание для следующей версии учесть.
#3 Как изменить глубиномер 2 октября 2017 в 12:34
Комрады! Может еще кто носом ткнет куда посмотреть, где покопать? Прям хочется сделать нормальный глубиномер.
#4 Как изменить глубиномер 2 октября 2017 в 12:14


Под двойку нет компонента, позволяющего создавать блоги.

iDrevniy
Вообще то это группы вроде.Нет? Переименуйте в Блог, выставьте права и все дела.)

Lora

Я об этом не подумал… Спасибо за идею.

Но у меня еще есть связанные типы контента, в которых я бы хотел реализовать правильный глубиномер.

Пока не могу понять как правильно передать параметры в экшене.
#5 Как изменить глубиномер 2 октября 2017 в 11:43


Вы написали тоже самое.Ваш "Пост в блоге"это просто ссылка ведущая на страницу типа контента "Посты". И она ничего не знает о "Блогах". Попробуйте в этой ссылке гетом передать, что вам надо и потом уже на странице "Постов" обернуть глубиномер в условие(Если есть гет) и выводить как вам надо

Lora

Не на столько я силен в программировании. Опять таки, понимаю что нужно скорее всего прописать
  1.  
  2. $this->getParentItems($parent_ctype_name);
  3.  
но вот куда. В item_view.tpl.php эта конструкция просто так не работает.

Думаю нужно этот запрос запихнуть в экшен item_view.php.

Вы были правы. Там нет ни строчки по родителей, только про дочерние записи.
#6 Как изменить глубиномер 2 октября 2017 в 11:07


Возможно я что то не так понял.) Итак
screenshots.firefox.com/lX099aX2vODALv9A/second

Далее
screenshots.firefox.com/2b58ZzubfTvyXXYj/second
Далее
screenshots.firefox.com/yWuyUZ0zl8pjLU3p/second

Теперь по ссылке "Поршень" вы переходите к типу контента "Детали" и никаких параметров ни пост ни гет там нет. Это просто ссылка на страницу контента. Или не то?

Lora

Нет, не так. Давайте немного изменим условия задачи.

Под двойку нет компонента, позволяющего создавать блоги. Но мы можем вполне успешно реализовать эту функцию через типы контента и связи. В итоге у нас получается следующая конструкция. Есть два типа контента: Блоги и Посты. Пользователь создает в Блогах запись (как бы создает блог), затем создает дочернюю (привязанную запись) пост.



Тип контента Блоги я в глубиномере вывел. Теперь нужно вывести родительскую запись (как бы категорию или как бы раздел) Блог юзера, к которой привязаны его посты (дочерние записи из типа контента Посты).

Да, еще момент. Отображение списка типа контента Посты выключено.

Есть вот такая конструкция
  1.  
  2. $this->addBreadcrumb($item['parent_title'], rel_to_href(str_replace('/content/'.$ctype['name'], '', $item['parent_url'])));
  3.  
Но она не хочет работать. Возможно вы правы, потому что не передается родительский массив. Но я сомневаюсь.
#7 Как изменить глубиномер 2 октября 2017 в 10:20
Первая часть проблемы решена.

Вот так будет выглядеть ссылка на родительский тип контента:
  1.  
  2. if($item["ctype_name"] == 'details') {
  3. $this->addBreadcrumb("Каталог (или языковая константа)", href_to('catalog'));
  4. }
  5.  
Остается вопрос со второй частью. Как прописать родительскую запись.
#8 Как изменить глубиномер 2 октября 2017 в 09:31


А что мешает создать подкатегорию "Детали" в "Моторе"? А так у вас навряд ли получится. У вас же по ссылке "Поршень" открывается другой тип контента. Соответственно и массив другой, в нём скорее всего нет нужных вам данных.

Lora

Думаю вы ошибаетесь. При создании связи у дочернего типа контента автоматически создается поле со ссылкой на запись родительского типа контента к которой привязана дочерняя запись. Соответственно в дочернюю запись обязательно должен передаваться как минимум id типа контента родителя (потому что name поля формируется из name родителя) и id записи привязки (а иначе как).
#1 Как изменить глубиномер 2 октября 2017 в 00:39
Всем добра!

Закопался, не могу сообразить.

Идея такая: есть два типа контента (например: 1 — каталог, 2 — детали). Первый родительский, второй дочерний. Добавляем в каталог запись "Мотор", в детали "Поршень". Имеем следующие глубиномеры: /->Каталог->Мотор и /->Детали->Поршень. Понимаем, что не так это должно выглядеть, хочется получить Каталог->Мотор->Поршень.

Как я мыслю: отключаем отображение списка для ТК 2 Детали, тем самым получаем глубиномер /->Поршень.

Идем в файл /templates/default/controllers/content/item_view.tpl.php и пытаюсь написать следующее
  1.  
  2. if($item["ctype_name"] == 'details') {
  3. $this->addBreadcrumb( что писать тут? не могу сообразить! );
  4. $this->addBreadcrumb( что писать тут? не могу сообразить! );
  5. }
  6.  
То есть, понимаю, что в первой строчке должна быть прописана ссылка на ТК 1 Каталог, во второй строчке на родительскую запись по связи. Но запутался.

Спасибо!
#1 CSS для свойств и полей 31 августа 2017 в 23:03
Возникла необходимость оформить таблицу свойств и заодно поля. Как?

Немного подробней. Я просто не могу сообразить. Как присвоить стиль конкретному свойству или полю. Например: имеем свойство стороны света, которое определяетмя простым списком. Если выбрано север, то надпись должна быть синей, юг — красной и т.д. Задать индивидуальный класс для свойства не проблема, а вот для значения свойства...

Логика идет по пути добавления чего-то в форму добавления свойства, но простой список перечисляется в текстовом поле. В базу он попадает просто под номером (id).

Вопрос для тех кто знает cms. Как? Или куда копать?
#9 Тур по сайту 25 мая 2017 в 23:26


iDrevniy, отлично, спасибо за реакцию.

@liner

Велкам :)
#10 Тур по сайту 25 мая 2017 в 23:22



Тогда подогрею интерес. Я работаю над апгрейдом виджета, будет еще несколько вкусных функций в ближайшее время. Подписывайтесь на тему :)

iDrevniy
все супер, посмотрел демо.
Два вопроса:
1. а если человек хочет остановить тур после первого, второго шага? Кнопка "стоп" не помешает сразу с первых шагов.
2. не только у Вас, но и во многих других реализациях встречается проблема: жмем "следующий шаг", читаем пояснение к этому шагу, в то же время где-то на странице возникает подсказка, ее приходится искать глазами. Не думали, что вообще весь блок "дальше" и "стоп" может мигрировать по странице в соответствующие места подсказок, тем самым юзер освобожлается от необходимости следить сразу за двумя объектами — основным блоком с кнопками управления и подсказкой на поле страницы? М.б. саму подсказку сделать с дублирущими иконками "дальше" и "стоп"? Экономит время и более friendly.

@liner

1. Думаю нет.
2. Именно этот виджет реализован так, блок и подсказки. и никак иначе, в этом его смысл и принцип. Я еще один тур делаю, там блока не будет, только подсказки, и в них кнопки управления. Будет именно тот вариант о котором вы говорите.
#11 Тур по сайту 24 мая 2017 в 22:12


Стопроцентно такие дополнения нужны! Судя по Демо все красиво сделано. Позже постараюсь прикрутить такое для своего сайта. Благодарю за работу!

BoAnRo

Тогда подогрею интерес. Я работаю над апгрейдом виджета, будет еще несколько вкусных функций в ближайшее время. Подписывайтесь на тему :)
#12 Тур по сайту 24 мая 2017 в 22:10


А можно раскрыть и подсветить пункт в меню, или перейти по табам?
В общем, имитировать действие?

Pocus

Нет, это невозможно и на мой взгляд не нужно. Если вы хотите показать как работает ваш сайт, то проще снять видео. Тур все таки преследует несколько иные задачи. Акцентировать внимание на супер важных моментах не вдаваясь в детали. Даже в демо я сделал слишком много элементов, пользователь устанет смотреть и читать. Это только для вас, чтобы показать возможности.
#13 Тур по сайту 24 мая 2017 в 11:24


У вас ошибка в инсталяторе при обновлении: name = 'Тур по сайту' name = 'sitetour'

  1. else{
  2. $core->db->query("update cms_widgets set version = '1.1.0' where id={$sitetour['id']}",array(),true);
  3. $core->db->query("update cms_widgets set name = 'Тур по сайту' where id={$sitetour['id']}",array(),true);
  4. }

Alex

Спасибо, поторопился.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.