Как в шаблоне отделить фото от текста?

InstantCMS 2.X
#1 10 февраля 2017 в 00:42
Помогите, пожалуйста разобраться с default_item.tpl.
Пытаюсь в нем переместить <div class="bar_item bi_share"></div> между картинкой и текстом. Пока пробую его, а вообще нужно еще инфобар и теги.
Не пойму куда вставлять вырезанный код. В режиме кода браузера видны два разных контейнера, а в шаблоне разобраться не могу. Если модуль в новом месте и отображается, то еще отображается то на старом месте, то над картинкой. Беда прям.


Пробовал блок фото вытащить из основного контейнера, может он там замудрённый какой, не зря же дублирует, но не могу понять, что там к чему. Фото с Текстом там намертво сцепились.
#2 10 февраля 2017 в 01:56
Yar, сначала выведите картинку из цикла (подсмотрите как это сделано с заголовком; если поле не обязательно к заполнению, потребуются дополнительные условия)
Потом вырезайте и вставляйте под ним этот <div class="bar_item bi_share"></div>
#3 10 февраля 2017 в 02:54
Это потому что там в цикле идет перебор всех полей заданного типа контента, а вы пытаетесь вклинится в цикл.

Сделайте проверку внутри перебора массива $fieldset['fields']
  1. <?php if ($field['name']=="photo") { ?> Выводим нужный DIV<?php } ?>
#4 10 февраля 2017 в 11:31

сначала выведите картинку из цикла

Олег Васильевич я
В том-то и дело, что не могу понять, где код, принадлежащий картинке. Где он там?

Я так понял, что код картинки (после обнаружения) вообще нужно вставить вне пределов <div class="content_item <?php echo $ctype['name']; ?>_item">?

Сделайте проверку внутри перебора массива $fieldset['fields']

Sonat
Спасибо, но в этом я не разбираюсь. Максимум на что способен это блоки по коду вверх-вниз двигать, пока результата не будет. В данном шаблоне уже два дня двигаю… )
#5 10 февраля 2017 в 12:19
Yar, нужно один раз увидеть как это воспроизодится.
Чтобы не наломать дров (возможно файл в вашем шаблоне отличается от дефолтного), пишите в личку, помогу.
#6 10 февраля 2017 в 12:24

В том-то и дело, что не могу понять, где код, принадлежащий картинке. Где он там?

Yar
он формируется там же где и формируется код текста и прочих полей в одном из проходов перебора массива полей контента.
После строк
  1. <?php if (!empty($fieldset['fields'])) { ?>
  2. <?php foreach ($fieldset['fields'] as $name => $field) { ?>

Вот перед завершением тела цикла и ставь проверку
приблизительно 56 строка
  1. <?php if ($field['name']=="photo") { ?> СЮДА ПЕРЕНОСИМ НАШ DIV КОТОРЫЙ БУДЕТ ПОСЛЕ ФОТО <?php } ?>
  2. <?php } ?>
  3. <?php } ?>
#7 10 февраля 2017 в 12:52

Вот перед завершением тела цикла и ставь проверку

Sonat
Можно и так, только потеряется управление обтекаемостью из админки поля с картинкой и следующего за ним
#8 10 февраля 2017 в 12:58

только потеряется управление обтекаемостью

Олег Васильевич я
Пожалуй… scratch… но судя по скрину-ТЗ обтекаемость не нужна.

А вот что точно не хорошо — такое решение повлияет на другие типы контента и будет пытаться вставить везде после фото этот div facepalm
#9 10 февраля 2017 в 13:05

А вот что точно не хорошо — такое решение повлияет на другие типы контента и будет пытаться вставить везде после фото этот div

Sonat
Так можно сделать moy_tip_kontenta_item.tpl.php
#10 10 февраля 2017 в 13:10

такое решение повлияет на другие типы контента

Sonat
Не нужно везде, человек переименует себе файл.
Проблема даже не в обтекаемости, проблема в том. что этого поля может и не быть в другом типе контента (или не выводиться в записи). Тогда и блока "поделиться" не будет.
#11 10 февраля 2017 в 13:14

проблема в том. что этого поля может и не быть в другом типе контента (или не выводиться в записи). Тогда и блока "поделиться" не будет.

Олег Васильевич я
Интересно, как согласно ТЗ должна выглядеть страница без фото, где должен быть блок "поделиться"? scratch


А про переименования файла я чет и запамятовал. Спс.
#12 10 февраля 2017 в 13:59

Чтобы не наломать дров (возможно файл в вашем шаблоне отличается от дефолтного)

Олег Васильевич я
Дефолтный. Это первые изменения в нём. Можно ломать.

Вот перед завершением тела цикла и ставь проверку

Sonat
Не получилось. Браузер ошибку выдает.

Пожалуй…… но судя по скрину-ТЗ обтекаемость не нужна.

Sonat
Да, от обтекаемости и хотел избавится. Не нравится. А без нее пусто, превью маленькое. Вставлять во всю ширину фото можно, ну а если кто вертикальное загонит.
На "ТЗ" я рисовал так, чтоб ничего лишнего не отвлекало. Главная задача разделить, а там бы я уже настроил. После разделения Поделиться, Автор, Теги, Оценка встали бы справа от картинки, заняв образовавшуюся пустошь, после отмены обтекаемости фото текстом.

Не нужно везде, человек переименует себе файл.

Олег Васильевич я
Да, именно так планировал. Вот только вопрос, как отключать этот шаблон в мобильных браузерах, оставил на потом. А кстати, как?

Интересно, как согласно ТЗ должна выглядеть страница без фото, где должен быть блок "поделиться"?

Sonat
Очень верное наблюдение… Без фоты будет гаденько. Кажется это перечеркнуло все мечты по этому поводу. Надо было бы мне сразу мне этот вопрос поднять. Лучше уж оставлять как есть.

Спасибо.
#13 10 февраля 2017 в 14:35

Очень верное наблюдение… Без фоты будет гаденько. Кажется это перечеркнуло все мечты по этому поводу. Надо было бы мне сразу мне этот вопрос поднять. Лучше уж оставлять как есть.

Yar
Да бросьте. Всё решается просто.
#14 10 февраля 2017 в 14:39

Не получилось. Браузер ошибку выдает.

Yar
Странно, может вставили лишние скобки?
На примере, который я писал надо только одну строку добавить, две строки со закрывающими скобками <?php } ?> вставил в код чтобы было понятно что именно перед ними надо вставлять. Самих их вставлять еще раз не надо.

Да бросьте. Всё решается просто.

Олег Васильевич я
Не томите, zstделитесь своим решением.
#15 10 февраля 2017 в 17:05

Самих их вставлять еще раз не надо

Sonat
А мне, что дают. то и вставляю. smile

Еще была мысль взять целиком все контейнеры нужные, засунуть в один и назначить ему позиционирование поверх основного дива справа от картинки. Но как это сделать не знаю.
Да и ситуация, когда картинки в блоге не будет, делает все потуги бессмысленными.


Не томите

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