Astra.CMS

 

 

Форум » Приемы конструирования и интеграции дизайна

Разворачивание вопросов в разделе вопрос-ответ

Стоит ли открыть форум? Напишите об этом по адресу admin@astracms.ru написав в теме "открыть форум". Я не автор движка и поэтому не могу консультировать так, как это делал бы он, но возможно у нас получится совместно находить решения.

Автор Текст сообщения

Светлана
Сообщений: 38

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

Есть мысли сделать это так:
перебирать в шаблоне faq_page.tpl все вопросы, сравнивать их с активным вопросом (по которому щелкнули), например по названиям, и когда дойдем до активного вопроса, вставляем его ответ, и далее в цикле остальные вопросы.

Проблема в том, что не знаю как получить доступ к массиву вопросов в шаблоне faq_page.tpl.
Использовать блок вопросов, как я понимаю, не получится, т.к. надо в нужное место среди вопросов  вклинивать ответ на активный вопрос.

Если кто знает как это сделать, подскажите, пожалуйста.
 
aristoc

admin
Сообщений: 1159

Здравствуйте,
Гораздо проще в данной ситуации вообще не использовать детальную страницу вопроса (faq_page.tpl) а организовать то что необходимо на главной странице раздела (faq_main.tpl) или странице категории, если используются.

Т.е. прямо в шаблоне, где происходит обход массива с вопросами, можно сделать скрытые области с ответом, которые будут открываться по клику на тексте вопроса (с помощью js).
 

Светлана
Сообщений: 38

Дело в том, что такой код с сокрытием области под управлением js не во всех браузерах правильно работает, например в ie6 область скрытых блоков будет пустой, придется с этим бороться.
В общем, чтобы все было стабильно и кроссбраузерно, хотелось сделать это по-другому.
Но если на самом деле сложно получить доступ к списку вопросов и шаблона .._page, то видимо придется как Вы говорите.
 
aristoc

admin
Сообщений: 1159

Светлана писал(а):
Дело в том, что такой код с сокрытием области под управлением js не во всех браузерах правильно работает, например в ie6 область скрытых блоков будет пустой, придется с этим бороться.
Не понял в чем может быть проблема с ие6.
В div с display:none размещаем ответ, потом по клику на вопросе его показываем.
 
aristoc

admin
Сообщений: 1159

Светлана писал(а):

Проблема в том, что не знаю как получить доступ к массиву вопросов в шаблоне faq_page.tpl.
Использовать блок вопросов, как я понимаю, не получится, т.к. надо в нужное место среди вопросов  вклинивать ответ на активный вопрос.
Блок вопросов можно использовать, почему нет.
 

Светлана
Сообщений: 38

Тогда я не понимаю как его использовать.
К примеру, вставили блок вопросов в шаблон ..._page.tpl
{block id="listvopros"}
А как вставить ответ в список вопросов в нужное место? В шаблоне блока вопросов нет понятия активного вопроса...
Или можно использовать как-то по-другому?
 
aristoc

admin
Сообщений: 1159

В шаблоне любого блока можно получить доступ к данным исходной страницы.

http://wiki.astracms.ru/integration/globaldata#parent

В данном случае, чтобы определить активный вопрос в блоке, достаточно при обходе массива вопросов проверять условия вида:


{if $items[i].id==$parent.item.id}
...
{/if}

 

Светлана
Сообщений: 38

Спасибо большое!! Это то что нужно smile
 

Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.