Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Glow

Проблема с кодом. "В шаблоне обнаружена ошибка синтаксиса..." - 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 добавляете условие из темы, что я привел выше.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Что именно?

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

 

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

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

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

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

 

<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 строки, нет ничего?

  • Upvote 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"}

 

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

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

 

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

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

 

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

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

province_attack.php

Поделиться сообщением


Ссылка на сообщение

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

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

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

Поделиться сообщением


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

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

 

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

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...