Вывод категории в H1 записи

InstantCMS 2.X
#1 14 сентября 2022 в 09:37

Привет всем. Подскажите плиз как вывести название категории в H1 в записе.
Будет новый тип контента Плагины, в нем категории, например, Photoshop/Gimp/еще что-то со своими подкатегориями. И нужно чтобы H1 записи выводилась следующим образом — {тип контента} "{тайтл записи}" для {категории}.
Почитав форум, сделала plagin_item.tpl.php, в нём: 
<?php if (!empty($fields['title']['is_in_item']) && in_array('page', $fields['title']['options']['is_in_item_pos'])){ ?>
    <h1><?php echo ($ctype['title']);?> «<?php html($item['title']); ?>» для  «Тут должна быть категория» </h1>
В php не разбираюсь, методом тыка много чего пробовала добавлять, в ответ либо notice, либо пусто.

#2 14 сентября 2022 в 09:45
  1. <h1><?= $ctype['title']; ?> "<?php html($item['title']); ?>" для "<?= $item['category']['title']; ?>" </h1>
#3 14 сентября 2022 в 09:58
  1. <h1><?= $ctype['title']; ?> "<?php html($item['title']); ?>" для "<?= $item['category']['title']; ?>" </h1>
Loadырь

Получается  Плагин «Такой-то» для «Дизайна», т.е. выводится подкатегория. А нужно вывести Плагин «такой-то» для «Фотошоп/Гимп/Пэйнта» 

#4 14 сентября 2022 в 18:42

Доступна категория в которой создана запись, ее родители не доступны.

#5 14 сентября 2022 в 20:08

Доступна категория в которой создана запись, ее родители не доступны.

Loadырь

Я знаю сайт на InstantCMS, где выводится подобным образом. Не ручками, а на автомате. Я проверила)

Значит какой-то способ есть.

Доступна категория в которой создана запись, ее родители не доступны.

Loadырь

Наверное, придется категории Photoshop/Gimp делать отдельным типом контента, тогда подкатегории станут родительскими категориями и всё сработает как нужно. В любом случае спасибо, вы мне очень помогли!
Тему не закрываю, вдруг кто-то знает решение)

#6 14 сентября 2022 в 21:00

ее родители не доступны

Loadырь

сел уже писать поиск родителей через while и запросы к бд, но потом сдампил $item и та-да-дам… Все есть в path

Изображение

Т.е. решение ближе, чем кажется...

Примерно так работает

  1. <h1><?php
  2. if(!empty($item['category'])){//у записей в корневой категории category не заполнено
  3. $categories_names = [];
  4. foreach ($item['category']['path'] as $cat) {
  5. $categories_names[] = $cat['title'];
  6. }
  7. $categories_names_html = implode('/', $categories_names);
  8. }
  9. echo $ctype['title']; ?> "<?php html($item['title']); ?>"<?php if(isset($categories_names)){?> для "<?php html($categories_names_html); ?>"<?php } ?></h1>

Изображение

#7 14 сентября 2022 в 21:32

Примерно так работает

  1. <h1><?php
  2. if(!empty($item['category'])){//у записей в корневой категории category не заполнено
  3. $categories_names = [];
  4. foreach ($item['category']['path'] as $cat) {
  5. $categories_names[] = $cat['title'];
  6. }
  7. $categories_names_html = implode('/', $categories_names);
  8. }
  9. echo $ctype['title']; ?> "<?php html($item['title']); ?>"<?php if(isset($categories_names)){?> для "<?php html($categories_names_html); ?>"<?php } ?></h1>
Zau4man

Топ! Но в моем случае не очень смотрится, получается Плагин «PlaginName» для Photoshop/Кисточки :) На конкретно этом сайте подкатегория в h1 не нужна, но я представляю, где это можно применить. Спасибо, сохраню)

#8 14 сентября 2022 в 23:11

 Karina99, порядок категорий можно сменить на обратный.

#9 15 сентября 2022 в 07:27

категории Photoshop/Gimp

Karina99

Тогда вопрос: Gimp это подкатегория в категории Photoshop? Сдается мне, что это дополнительные категории в которых выводится запись. Вероятно, это можно сделать неким селектором или чекбоксами в форме заполнения записи. Например плагин может использоваться как в Photoshop, так и в Gimp. Для этого в форме отмечаются нужные чекбоксы и потом эти отмеченные значения подставляются в H1.

но потом сдампил $item и та-да-дам

Zau4man

Я тоже дампил, но в первой по уровню вложенности )).

#10 15 сентября 2022 в 08:22

категории Photoshop/Gimp

Karina99

Тогда вопрос: Gimp это подкатегория в категории Photoshop? Сдается мне, что это дополнительные категории в которых выводится запись. Вероятно, это можно сделать неким селектором или чекбоксами в форме заполнения записи. Например плагин может использоваться как в Photoshop, так и в Gimp. Для этого в форме отмечаются нужные чекбоксы и потом эти отмеченные значения подставляются в H1.

Да, я еще вчера подумала про доп. поля. Сделала Photoshop как новый тип контента, в нем поле версия Photoshop и эти данные уже в title записи смогла добавить (которая в head). Получилось даже лучше, чем предполагалось. А как в h1 добавить еще не поняла, буду чекать форум.

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