Не могу понять где ошибка 2.X

 
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 738
Всем привет, хочу переставить фотографию ниже заголовка и краткого описания статьи. Работу веду в default_list.tpl.php. Может кто готовый вариант скинет.

Код по умолчанию такой -

Спойлер
Меняю на такой -
Спойлер
В кратце перемещаю

Код PHP:
  1. <?php if (!empty($item['fields']['photo'])){ ?>
  2. <div class="photo">
  3. <?php if (!empty($item['is_private_item'])) { ?>
  4. <?php echo html_image(default_images('private', $fields['photo']['options']['size_teaser']), $fields['photo']['options']['size_teaser'], $item['title']); ?>
  5. <?php } else { ?>
  6. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">
  7. <?php echo html_image($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?>
  8. </a>
  9. <?php } ?>
  10. <?php unset($item['fields']['photo']); ?>
  11. </div>
  12. <?php } ?>
ниже тега h2
В итоге выходят две фотографии одинаковые, должна быть 1. Где допускаю ошибку? 1 как понимаю миниатюра записи, а вторая из самой статьи берется.
Редактировалось: 2 раз (Последний: 21 мая 2019 в 14:01)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Вы вынесли свой код из цикла, в итоге сначала показывается картинка в цикле, а потом и ваш код. Вам надо вставить перемещаемый код между строк
Код PHP:
  1.  
  2. </h2>
  3. <?php } else { ?>
Реклама
cms
Посетитель
small user social cms
Кубок зрительских симпатийМедаль
Сообщений: 167
Отключите показ поля изображения при просмотре списка для нужного типа контента.
Dezerit Web Group - Платные и бесплатные шаблоны для instantCMS
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 738
Loadырь:
Здравствуйте, спасибо что не обошли стороной.

Попробовал как Вы советуете, в итоге не работает.

Вот что выяснил:

Этот код с картинкой:
Код PHP:
  1. <?php if (!empty($item['fields']['photo'])){ ?>
  2. <div class="photo">
  3. <?php if (!empty($item['is_private_item'])) { ?>
  4. <?php echo html_image(default_images('private', $fields['photo']['options']['size_teaser']), $fields['photo']['options']['size_teaser'], $item['title']); ?>
  5. <?php } else { ?>
  6. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">
  7. <?php echo html_image($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?>
  8. </a>
  9. <?php } ?>
  10. <?php unset($item['fields']['photo']); ?>
  11. </div>
  12. <?php } ?>
Этот код с заголовком и описанием (возможно что то и от картинки выводится).

Код PHP:
  1. <?php foreach($item['fields'] as $field){ ?>
  2. <?php if ($stop === 2) { break; } ?>
  3. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>">
  4. <?php if ($field['label_pos'] != 'none'){ ?>
  5. <div class="title_<?php echo $field['label_pos']; ?>">
  6. <?php echo $field['title'] . ($field['label_pos']=='left' ? ': ' : ''); ?>
  7. </div>
  8. <?php } ?>
  9.  
  10. <?php if ($field['name'] == 'title' && $ctype['options']['item_on']){ ?>
  11. <h2 class="value">
  12. <?php if (!empty($this->menus['list_actions_menu'])){ ?>
  13. <div class="list_actions_menu controller_actions_menu dropdown_menu">
  14. <input tabindex="-1" type="checkbox" id="menu_label_<?php echo $item['id']; ?>">
  15. <label for="menu_label_<?php echo $item['id']; ?>" class="group_menu_title"></label>
  16. <ul class="list_actions menu">
  17. <?php foreach($this->menus['list_actions_menu'] as $menu){ ?>
  18. <li>
  19. <a class="<?php echo isset($menu['options']['class']) ? $menu['options']['class'] : ''; ?>" href="<?php echo string_replace_keys_values($menu['url'], $item); ?>" title="<?php html($menu['title']); ?>">
  20. <?php echo $menu['title']; ?>
  21. </a>
  22. </li>
  23. <?php } ?>
  24. </ul>
  25. </div>
  26. <?php } ?>
  27. <?php if ($item['parent_id']){ ?>
  28. <a class="parent_title" href="<?php echo rel_to_href($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a>
  29. <?php } ?>
  30.  
  31. ---
  32.  
  33. <?php if (!empty($item['is_private_item'])) { $stop++; ?>
  34. <?php html($item[$field['name']]); ?> <span class="is_private" title="<?php html($item['private_item_hint']); ?>"></span>
  35. <?php } else { ?>
  36. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>"><?php html($item[$field['name']]); ?></a>
  37. <?php if ($item['is_private']) { ?>
  38. <span class="is_private" title="<?php echo LANG_PRIVACY_HINT; ?>"></span>
  39. <?php } ?>
  40. <?php } ?>
  41. </h2>
  42. ---
  43. <?php } else { ?>
  44. <div class="value">
  45. <?php if (!empty($item['is_private_item'])) { ?>
  46. <div class="private_field_hint"><?php echo $item['private_item_hint']; ?></div>
  47. <?php } else { ?>
  48. <?php echo $field['html']; ?>
  49. <?php } ?>
  50. </div>
  51. <?php } ?>
  52. </div>
  53. <?php } ?>
В итоге из первого кода, это условие -
Код PHP:
  1. <?php unset($item['fields']['photo']); ?>
Если ставится ниже строки -
Код PHP:
  1. <?php foreach($item['fields'] as $field){ ?>
То не работает, и выходит фото с миниатюры записи и из самой статьи.
Сможете помочь мне?
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 738
Dezerit:
Здравствуйте, да это я знаю. Мне нужно как раз тут миниатюру которая выводится в статье, переместить ниже заголовка и все. Вот на фото будет нагляднее.
Не могу понять где ошибка

А вот что с ошибкой выходит
Не могу понять где ошибка
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Всё как я сказал, только после этого else
Код PHP:
  1. </h2>
  2. <?php } else { ?>
Надо добавить строку
Код PHP:
  1. <?php if ($field['name'] == 'photo') { continue; } ?>
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 738
Loadырь:
<?php if ($field['name'] == 'photo') { continue; } ?>
Отлично, это сработало. Заголовок выше фото, а само описание можно как то тоже переместить над фото (под заголовок)?

Вот что вышло -
Код PHP:
  1. </h2>
  2. <?php if (!empty($item['fields']['photo'])){ ?>
  3. <div class="photo">
  4. <?php if (!empty($item['is_private_item'])) { ?>
  5. <?php echo html_image(default_images('private', $fields['photo']['options']['size_teaser']), $fields['photo']['options']['size_teaser'], $item['title']); ?>
  6. <?php } else { ?>
  7. <a href="<?php echo href_to($ctype['name'], $item['slug'].'.html'); ?>">
  8. <?php echo html_image($item['photo'], $fields['photo']['options']['size_teaser'], $item['title']); ?>
  9. </a>
  10. <?php } ?>
  11. <?php unset($item['fields']['photo']); ?>
  12. </div>
  13. <?php } ?>
  14. <?php } else { ?>
  15. <?php if ($field['name'] == 'photo') { continue; } ?>
  16. <div class="value">
  17. <?php if (!empty($item['is_private_item'])) { ?>
  18. <div class="private_field_hint"><?php echo $item['private_item_hint']; ?></div>
  19. <?php } else { ?>
  20. <?php echo $field['html']; ?>
  21. <?php } ?>
  22. </div>
  23.  
  24. <?php } ?>
Не могу понять где ошибка
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 738
Loadырь:

Всё как я сказал, только после этого else
Код PHP:
  1.  
  2.  
Надо добавить строку
Код PHP:
  1.  

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