Нужна помощь в разборке кода

 
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2814
Инстант 2.4.0, виджет "список контента", стиль "обычный"
Код PHP:
  1. <?php if ($image) { ?>
  2. <div class="image">
  3. <?php if ($url) { ?>
  4. <a href="<?php echo $url; ?>"><?php echo html_image($image, 'small', $item['title']); ?></a>
  5. <?php } else { ?>
  6. <?php echo html_image($image, 'small', $item['title']); ?>
  7. <?php } ?>
  8. </div>
  9. <?php } ?>
Ниже по коду такое уже условие для вывода заголовка (со ссылкой или без), ещё ниже, - для комментов.
Переменная в этом <?php if ($url) { ?> условии откуда берётся? Вроде б в настройках виджета её нет scratch
Спасибо!
Редактировалось: 1 раз (Последний: 3 января 2016 в 20:00)
Украинский для инстант
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3584
Олег Васильевич я, чуть выше в том же файле есть
Код PHP:
  1. <?php
  2. $url = href_to($ctype['name'], $item['slug']) . '.html';
  3. $is_private = $item['is_private'] && $hide_except_title && !$item['user']['is_friend'];
  4. $image = (($image_field && !empty($item[$image_field])) ? $item[$image_field] : '');
  5. if ($is_private) {
  6. $image = default_images('private', 'small');
  7. $url = '';
  8. }
  9. ?>
там $url собирается из набора этого href_to($ctype['name'], $item['slug']) . '.html';
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3584
А затем, если запись приватная, то значение этой переменной уничтожается и в итоге ссылка на эту запись не отображается в списке, только её название.
Спойлер
Редактировалось: 1 раз (Последний: 3 января 2016 в 20:11)
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2814
Loadырь:
Олег Васильевич я, чуть выше в том же файле есть
Я вижу, и понимаю что приватная запись не выведется. Об этом и спрашиваю: для чего условие стоит:
если запись не приватная, то вывести картинку со ссылкой на запись, а, если приватная, то картинку без ссылки?
Украинский для инстант
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2814
Другими словами, почему не так:
Код PHP:
  1. <?php if ($url) { ?>
  2. тут поле
  3. <?php } ?>
Или вообще не
Код PHP:
  1. <?php if ($url) { ?>
  2. тут вся запись
  3. <?php } ?>
Украинский для инстант
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3584
В 2.4.0 есть три варианта для приватности:
1 не показывать совсем
2 показывать совсем
3 показывать только название.
поэтому в коде
Код PHP:
  1. <div class="title">
  2. <?php if ($url) { ?> если есть ссылка показываем её
  3. <a href="<?php echo $url; ?>"><?php html($item['title']); ?></a>
  4. <?php } else { ?> иначе (а это в случае когда - пользователь не друг автора записи и у записи стоит "приватность" и в настройках типа контента стоит флаг показа только названий - и всё это одновременно) показываем только название
  5. <?php html($item['title']); ?>
  6. <?php } ?>
  7. <?php if ($item['is_private']) { ?> а если у записи стоит "приватность", то сообщаем об этом пользователей этим спаном
  8. <span class="is_private" title="<?php html(LANG_PRIVACY_PRIVATE); ?>"></span>
  9. <?php } ?>
  10. </div>
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форумаПочетный донор проекта
Сообщений: 2814
Ключ к разгадке:
Loadырь:
и в настройках типа контента стоит...
Спасибо!
Украинский для инстант
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: