Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Проблема с кодом. "В шаблоне обнаружена ошибка синтаксиса..." - IP.Board 3.4.5

Опубликовано:

Не могу в Управление шаблонами в IP.Board, при редактировании одного из хуков сохранить вот этот код, выскакивает ошибка синтаксиса...

 

<if test="in_array($this->memberData['member_group_id'], array( 7 ) )">

{parse include="province_attack.php"}

</if>

 

Подскажите пожалуйста, в чем проблема?

 

Основная задача, показать блок в боковой панели только группе с ID=7

 

{parse include="province_attack.php"} - эта штука прекрасно работает, когда нет никаких if'ов

это блок в sidebar'e

 

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

Рекомендованные сообщения

Опубликовано:
  • Автор

видел эту тему, не помогло :(

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

Опубликовано:
видел эту тему, не помогло :(
Что именно?

 

мне нужно спрятать сам блок, а не информацию в нем
Так в первом посте нет ничего про блок, который волшебным образом появился и непонятно, где и как выводится.

Если в шаблоне, то можно сделать так

 

<if test="in_array($this->memberData['member_group_id'], array(7))">
Первая часть блока
</if>
{parse include="province_attack.php"}
<if test="in_array($this->memberData['member_group_id'], array(7))">
Последняя часть блока
</if>

И в самом файле province_attack.php добавляете условие из темы, что я привел выше.

Опубликовано:
  • Автор

Что именно?

всё, я пробовал все варианты

 

Так в первом посте нет ничего про блок, который волшебным образом появился и непонятно, где и как выводится.

Если в шаблоне, то можно сделать так

как же нет, в первом посте все присутствует

а вводиться он в шаблонах, но это без разницы, ни в одном другом шаблоне сохранить код не получается :(

 

<if test="in_array($this->memberData['member_group_id'], array(7))">
Первая часть блока
</if>
{parse include="province_attack.php"}
<if test="in_array($this->memberData['member_group_id'], array(7))">
Последняя часть блока
</if>

больше в шаблоне ничего нет, это одна строка... все что есть это {parse include="province_attack.php"}, который прекрасно отображается в боковой панели на главной странице форума

 

И в самом файле province_attack.php добавляете условие из темы, что я привел выше.

да, такое получается, но прячется только содержимое блока, а не сам блок целиком

Опубликовано:
как же нет, в первом посте все присутствует
Только упоминание о каком-то хуке, который выводит блок

 

а вводиться он в шаблонах, но это без разницы, ни в одном другом шаблоне сохранить код не получается :(
И не получится. parse include с if'ами в шаблонах не работает. "Багу" почти 2 года. Обещали исправить в 4.0.

 

да, такое получается, но прячется только содержимое блока, а не сам блок целиком
Блок - это что?

Откуда берется он, если в шаблоне кроме 1 строки, нет ничего?

Опубликовано:
  • Автор
И не получится. parse include с if'ами в шаблонах не работает. "Багу" почти 2 года. Обещали исправить в 4.0.

очень жаль, все планы коту под хвост :(

 

я плохо разбираюсь со всеми этими кодами и программированием, все делаю методом тыка...

и с терминами вероятнее всего напутал и ввел в заблуждение

приношу извинения за потраченное время :(

в следующий раз картинками буду объяснять :)

 

Спасибо! тему можно закрывать

post-54919-0-04192200-1405234072_thumb.jpg

Опубликовано:
очень жаль, все планы коту под хвост
Вам же дали решение.

Если в Вашем php-файле только контент для блока, то нужно искать и править код самого блока.

Сайдбарный блок

<div class='ipsSideBlock clearfix'>
<h3>Заголовок</h3>
<div class='_sbcollapsable'>
	Контент
</div>
</div>

Вы пишите, что при использовании условий в php-файле, выводится блок без контента. Спрашивается, откуда взялось

<div class='ipsSideBlock clearfix'>
<h3>Заголовок</h3>
<div class='_sbcollapsable'>
</div>
</div>

, если в шаблоне только {parse include="province_attack.php"}

 

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

да, такое получается, но прячется только содержимое блока, а не сам блок целиком

ТС, вы что-то перепутали, каким образом условие в шаблоне будет прятать шаблон в котором находится это условие?.. Под условием можно исключить код, который находится внутри, а не наружный код. Тег тогда все равно бы не помог, потому что результат в данном случае одинаковый - что ставить условие в файле, что ставить условие перед парсингом файла. И что за шаблон в котором ничего нет и выводится в сайдбаре как блок?

 

if'ы с parse include не работают. Если нужно поставить под условием, делайте это непосредственно в файле, так как это подключаемый файл, там будут доступны все свойства шаблона $this->registry, $this->memberData, etc. А если вам нужно скрыть что-то другое, то условие надо ставить на уровень выше, там где это ваш блок формируется.

Опубликовано:
  • Автор

спасибо за желание помочь!

 

вот, сделал скриншот, где только этот парсе и ничего больше

и файлик прикрепил... или лучше код сюда сбросить?

 

подскажите пожалуйста, куда условия прописывать?

post-54919-0-04491800-1405253764_thumb.jpg

province_attack.php

Опубликовано:
  • Автор

ешкин кот!!! так в самом хуке же есть настройки, где можно выбрать группы, которые будут видеть этот хук

а можно этот хук с последними сообщениями установить еще раз? чтобы например он назывался hookLastsPosts2?

а то у меня есть планы и на другие блоки, для других групп

Опубликовано:
подскажите пожалуйста, куда условия прописывать?

Судя по всему нужно прописывать в месте где компилируется этот шаблон.

 

а можно этот хук с последними сообщениями установить еще раз?

Теоретически можно если переименовать все ключи в хуке, иначе он перезапишется поверх старого.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.