Новость и обратная связь

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
easmik
New Member
New Member
Posts: 9
Joined: Fri May 27, 2011 6:55 pm

Новость и обратная связь

Post by easmik »

Есть новость, в которой кроме контента есть доп. поля.
Хотелось бы чтоб вместо полной новости открывалась форма обратной связи, в которой был бы чекбокс со значениями взятыми из доп. полей.
Это реально сделать без вмешательство в код двига?
Vladimir
Forum Members
Forum Members
Posts: 47
Joined: Mon Jan 31, 2011 9:27 pm

Re: Новость и обратная связь

Post by Vladimir »

easmik wrote:Это реально сделать без вмешательство в код двига?
Должно получится если использовать Formbuilder. Нужно создать шаблон показа полной новости который будет создавать доп поля формы обратной связи, а в форме задать поле типа "Module Interface Field" в которое прописать тег вызова модуля новостей.
easmik
New Member
New Member
Posts: 9
Joined: Fri May 27, 2011 6:55 pm

Re: Новость и обратная связь

Post by easmik »

Большое спасибо за ответ!
Если честно, то я в это не очень понимаю. А можно поподробней?
Vladimir
Forum Members
Forum Members
Posts: 47
Joined: Mon Jan 31, 2011 9:27 pm

Re: Новость и обратная связь

Post by Vladimir »

easmik wrote:А можно поподробней?
У Вас есть опыт использования модуля FormBuilder? Мне хотелось бы уточнить, что именно не понятно.
easmik
New Member
New Member
Posts: 9
Joined: Fri May 27, 2011 6:55 pm

Re: Новость и обратная связь

Post by easmik »

Есть. Но в создании шаблонов я не силен.
Vladimir
Forum Members
Forum Members
Posts: 47
Joined: Mon Jan 31, 2011 9:27 pm

Re: Новость и обратная связь

Post by Vladimir »

easmik wrote:Но в создании шаблонов я не силен.
Плохо. Надо учить Smarty ;) .

Что надо сделать:
1. Создать форму, где одно из полей будет типа "Module Interface Field". Поле вставляем на то место где будут чекбоксы.
2. В модуле новостей создаём дополнительный шаблон вывода полного текста новости и дополнительные поля для чекбоксов. Оставляем эту часть кода:

Code: Select all

{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsDetailField">
        {if $field->type == 'file'}
	  {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *}
          <img src="{$entry->file_location}/{$field->value}"/>
        {else}
          {$field->name}:&nbsp;{eval var=$field->value}
        {/if}
     </div>
  {/foreach}
{/if}
Редактируем:

Code: Select all


{foreach from=$items item=entry}
	{assign var=MData value=''}
	{assign var=Cd value=''}
		{foreach from=$FBvalue item=MData}
			{assign var=MData value='::'|explode:$MData}
			{if $MData[1]==$entry->id}
	{assign var=Cd value=' checked="checked"'}
			{/if}
		{/foreach}
	<div class="NewsItem">

{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
<input type="checkbox" name="{$FBid}[]" value="{eval var=$field->value}" {$cd}="">{$field->name}<br/>
  {/foreach}
{/if}    


	</div>
{/foreach}

3. Создаём ещё один шаблон вывода полного текста новости, который делаем по-умолчанию. Удаляем всё содержимое и вставляем тег формы.

4. Переходим в конструктор форм. Редактируем поле типа "Module Interface Field". В поле "Добавить свой тег:" вставляем тег вывода полной новости:

Code: Select all

{News detailtemplate="имя нашего шаблона из п.2"}
Приблизительно так...
easmik
New Member
New Member
Posts: 9
Joined: Fri May 27, 2011 6:55 pm

Re: Новость и обратная связь

Post by easmik »

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

Сделал как Вы написали, теперь даже можно отправить :) Но вот в чем вопрос, а как связать доп. поля новости и чекбоксы в форме обратной связи?

Допустим я добавляю 5 полей (Во вкладке "Добавить определение поля"), теперь они находятся в самом низу при заполнении новости и тоже заполняются. Как мне взять значение с этих полей и вставить в поле где можно нажать чекбокс?

Заранее огромная благодарность!!! Хотя бы за то что прочитали :)
Vladimir
Forum Members
Forum Members
Posts: 47
Joined: Mon Jan 31, 2011 9:27 pm

Re: Новость и обратная связь

Post by Vladimir »

easmik wrote:Но вот в чем вопрос, а как связать доп. поля новости и чекбоксы в форме обратной связи?
Этот вопрос был в самом начале и я на него дал ответ (см. п. 2 выше).
easmik
New Member
New Member
Posts: 9
Joined: Fri May 27, 2011 6:55 pm

Re: Новость и обратная связь

Post by easmik »

Прощу прощения. Я просто создал одно поле и не заметил чек бокса рядом. Еще раз ОГРОМНОЕ спасибо!!!

Правда только значение берется из названия поля, а не из текста который туда забит.
donkaban
Forum Members
Forum Members
Posts: 11
Joined: Sun May 08, 2011 7:28 pm

Re: Новость и обратная связь

Post by donkaban »

Добрейшего! =)

поясните, пожалуйста, есть ли возможность в письмо, отправляемое из контакт-формы, вставить текст из поля "-Статический текст"?

или почему шаблон отправляемого письма не понимает foreach? хотя должен же понимать...

есть магазин. есть шаблон модуля Cart, выводящий список покупок. есть контакт-форма, куда надо писать имя, мэйл, телефон, примечание. есть кнопка "Оформить заказ", которая отправляет на ящик всё, что нужно из контакт-формы.
а вот включить в "всё, что нужно" список заказанных товаров не получается...


создал поле "-Статический текст" (korzina), которое в форме отображает список покупок (вместо текста подставил выжимку из шаблона viewcart).
на сайте всё отображается, а в письмо не знаю как запихнуть - {$korzina}, {$korzina_obj->value}, {$korzina_obj} не дают ничего нужного
потом сделал поле "Module Interface Field", шаблон в Products, связал их. в письме пишут "[не заполнено]". как же его заполнишь если оно без полей для ввода и вообще какого-то выбора?

Вобщем, на экран выводится, а в письмо не хочет ((((

пробовал ещё шаблон viewcart засунуть в нужное место в шаблоне исходящего письма.
уже лучше! в письме от корзины остаётся только общая сумма, выводимая тегом {$carttotal}. а все товарные позиции, находящиеся в {foreach...}{$oneitem->...} не подставляются.

может есть ещё способ вывода корзины через Smarty?
посоветуйте, плиз, а то голова уже кипить (((((((
donkaban
Forum Members
Forum Members
Posts: 11
Joined: Sun May 08, 2011 7:28 pm

Re: Новость и обратная связь

Post by donkaban »

Разобрался! )

не понятно зачем я пытался усложнить задачу. всё более чем элементарно оказалось:
лишние поля я удалил (статический текст и module interface), сделал тимплейт viewcart, отображающий список покупок так как мне надо, а в коде пересылаемого письма добавил {Cart action="viewcart" viewcarttemplate="мой тимплейт"}.

Всё работает! )))))))))
Post Reply

Return to “Russian - русский”