микророзметка страницы текст.

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 20 февраля 2020 в 21:59
Хочу разметит страницы. Где формируется <div class = "info_bar"> <? Php echo $ bar [ 'html']; ?>
Также проблема разметить текст.
Текст и блок с картинкой через <div class = "value"> <? Php echo $ field [ 'html']; ?> </ Div> Где $ field [ 'html'] формируется?
#2 20 февраля 2020 в 22:19
@andriu3240, shockcrazysmoke
#3 21 февраля 2020 в 15:04
На форуме нашел что в старых версиях <div class = "info_bar"> <? Php echo $ bar [ 'html']; ?> формировался прямо в файле сейчас неизвестно где?
#4 21 февраля 2020 в 16:08
С версий выше 2.12 инфобар в отдельном массиве

public function getItemInfoBar

system\controllers\content\frontend.php


  1.  
  2. <?php if ($show_bar){ ?>
  3. <div class="info_bar">
  4. <?php if (!empty($item['rating_widget'])){ ?>
  5. <div class="bar_item bi_rating">
  6. <?php echo $item['rating_widget']; ?>
  7. </div>
  8. <?php } ?>
  9. <?php if ($fields['date_pub']['is_in_item']){ ?>
  10. <div class="bar_item bi_date_pub" title="<?php html( $fields['date_pub']['title'] ); ?>">
  11. <?php echo $fields['date_pub']['html']; ?>
  12. </div>
  13. <?php } ?>
  14. <?php if (!$item['is_pub']){ ?>
  15. <div class="bar_item bi_not_pub">
  16. <?php echo LANG_CONTENT_NOT_IS_PUB; ?>
  17. </div>
  18. <?php } ?>
  19. <?php if (!empty($ctype['options']['hits_on'])){ ?>
  20. <div class="bar_item bi_hits" title="<?php echo LANG_HITS; ?>">
  21. <?php echo $item['hits_count']; ?>
  22. </div>
  23. <?php } ?>
  24. <?php if ($fields['user']['is_in_item']){ ?>
  25. <div class="bar_item bi_user" title="<?php html( $fields['user']['title'] ); ?>">
  26. <?php echo $fields['user']['html']; ?>
  27. </div>
  28. <?php if (!empty($item['folder_title'])){ ?>
  29. <div class="bar_item bi_folder">
  30. <a href="<?php echo href_to('users', $item['user']['id'], array('content', $ctype['name'], $item['folder_id'])); ?>"><?php echo $item['folder_title']; ?></a>
  31. </div>
  32. <?php } ?>
  33. <?php } ?>
  34. <?php if (!$item['is_approved']){ ?>
  35. <div class="bar_item bi_not_approved">
  36. <?php echo $item['is_draft'] ? LANG_CONTENT_DRAFT_NOTICE : LANG_CONTENT_NOT_APPROVED; ?>
  37. </div>
  38. <?php } ?>
  39. </div>
  40. <?php } ?>
  41.  
то теперь ...

  1.  
  2. <?php if (!empty($item['info_bar'])) { ?>
  3. <div class="info_bar">
  4. <?php foreach ($item['info_bar'] as $bar) { ?>
  5. <div class="bar_item <?php echo !empty($bar['css']) ? $bar['css'] : ''; ?>" title="<?php html(!empty($bar['title']) ? $bar['title'] : ''); ?>">
  6. <?php if (!empty($bar['href'])) { ?>
  7. <a href="<?php echo $bar['href']; ?>"><?php echo $bar['html']; ?></a>
  8. <?php } else { ?>
  9. <?php echo $bar['html']; ?>
  10. <?php } ?>
  11. </div>
  12. <?php } ?>
  13. </div>
  14. <?php } ?>
  15.  
Вопрос/задача в чем состоит?

Почему вы не пользуетесь поиском по форуму??
#5 21 февраля 2020 в 16:57
Поиском пользуюсь в первую очеридь.
Задача вставить в <div class = "bar_item bi_user" title = "Автор">
                                             <a href="/users/1"> Андрей </a> </ div> itemprop = "author"
2) Найти переменную с текстом страницы и обрнуть ее в <div itemprop = "articleBody">
#6 21 февраля 2020 в 21:32

Задача вставить в

@andriu3240
Ничего не мешает вам пользоваться старым кодом инфобара

2) Найти переменную с текстом страницы

@andriu3240
Что подразумеваете под "текстом страницы"?
#7 21 февраля 2020 в 22:49
Старый код не Риша проблему. Эта ссылка <a href="/users/1"> Андрей </a> Циляком выводится переменной а мне надо в нее влезть и вставить itemprop = "author".

Текст — контент страницы. Поле что заполняется через редактор.
#8 22 февраля 2020 в 01:20

Старый код не Риша проблему. Эта ссылка <a href="/users/1"> Андрей </a> Циляком выводится переменной а мне надо в нее влезть и вставить itemprop = "author".

@andriu3240
  1.  
  2. $item['user']['id'];//id автора записи
  3. $item['user']["nickname"];//его никнейнм
  4.  

Текст — контент страницы. Поле что заполняется через редактор.

@andriu3240
Если в цикле, который перебирает массив полей записи, то нужное можно вывести с условием:
  1.  
  2. if($field['name'] == 'content') {//content - системное имя нужного поля
  3.  
если вне цикла, то можете вывести значение поля так:
  1.  
  2. $item['content']
  3.  
#9 22 февраля 2020 в 14:09
По условиях вставлять отличное решение. Благодарарю. А $ item [ 'user'] [ 'id']; // id автора записи $ item [ 'user'] [ "nickname"]; // его никнейнм Ничего не дает. Эта ссылка уже готова выводится в циккле переменной $ bar [ 'html'];. Мне надо найти файл где эта ссылка автора формируется
#10 22 февраля 2020 в 14:57

А $ item [ 'user'] [ 'id']; // id автора записи $ item [ 'user'] [ "nickname"]; // его никнейнм Ничего не дает. Эта ссылка уже готова выводится в циккле переменной $ bar [ 'html'];. Мне надо найти файл где эта ссылка автора формируется

@andriu3240
Инфобар формируется здесь
Вот только зачем вам вешать себе на шею системный файл?
Писали ж вам: используйте старый код инфобара. Тогда сможете изменять его на уровне шаблона и только там где нужно.
В частности, в вашем случае (со ссылкой на автора записи) код:
  1.  
  2. <?php echo $fields['user']['html']; ?>
  3.  
замените на:
  1.  
  2. <a href="<?php echo href_to('users', $item['user']['id']); ?>" title="<?php html( $fields['user']['title'] ); ?>"><?php echo $item['user']["nickname"]; ?></a>
  3.  
Там и вставляйте свою микроразметку
#11 22 февраля 2020 в 19:32
Вы правы на щот сестемних файлов. сделал так
<?php if($bar['css']== 'bi_user') { ?>
<a itemprop="author" itemscope itmetype="http://schema.org/Person" href="<?php echo href_to('users', $item['user']['id']); ?>" title="<?php html( $fields['user']['title'] ); ?>"><span itemprop="additionalName"> <?php echo $item['user']["nickname"]; ?></span></a>
<?php } else { echo $bar['html']; }?>
Благодарю за помощь.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.