Автор Тема: Помогите решить проблему с добавлением поля телефона в форму на карточке товара!  (Прочитано 998 раз)

16 Апрель 2014, 15:17:03
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Помогите решить проблему с добавлением поля телефона в форму на карточке товара!
Пример по ссылке http://www.fitdv.ru/aminokisloty/23-l-arginine-100-caps.html
Не могу понять где это все делается!Заранее спасибо!
16 Апрель 2014, 16:13:41
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
16 Апрель 2014, 16:42:23
Ответ #2
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добавил в код
<div id="contact">
<form action="/contact-us" method="post" class="std" enctype="multipart/form-data">
<fieldset>
<h3>Оставьте заявку для быстрого оформления заказа или консультации со специалистом</h3>
<input type="hidden" name="id_contact" value="2" />
                [color=red]<input type="hidden" name="phone" value="" />[/color]

<input type="hidden" name="id_order" value="{$product->name|escape:'htmlall':'UTF-8'} - http://www.fitdv.ru{$request_uri|escape:'htmlall':'UTF-8'}" />

<p class="text">
<label for="email">Email</label>
<input type="text" id="email" name="from" value="" />
</p>
                [color=red]<p class="text">
<label for="phone">Телефон</label>
<input type="text" id="phone" name="from" value="" />
</p>[/color]


<p class="textarea">
<label for="message">Сообщение</label>
<textarea id="message" name="message" rows="15" cols="10">Здраствуйте. Меня интересует {$product->name|escape:'htmlall':'UTF-8'} - http://www.fitdv.ru{$request_uri|escape:'htmlall':'UTF-8'}</textarea>
</p>
<p class="submit">
<input type="submit" name="submitMessage" id="submitMessage" value="Отправить" class="button_large" onclick="$(this).hide();" />
</p>
</fieldset>
</form>
</div>
Пытаюсь отправить сообщение пишет что введен не правильно email!
17 Апрель 2014, 11:19:35
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
Значит в контроллере ContactController нет названия поля, которое вы добавили.
Смотрите форму контактов, файл contact-foem.tpl, поля должны быть такие, как в этом шаблоне.
Cоздание интернет сайтов Webstudio UwK
17 Апрель 2014, 11:33:32
Ответ #4
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Значит в контроллере ContactController нет названия поля, которое вы добавили.
Смотрите форму контактов, файл contact-foem.tpl, поля должны быть такие, как в этом шаблоне.

Сейчас все приходит кроме поля телефона, которое я добавил, вот код contact-form.php

{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2013 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}

{capture name=path}{l s='Contact'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}

<h1>{l s='Customer service'} - {if isset($customerThread) && $customerThread}{l s='Your reply'}{else}{l s='Contact us'}{/if}</h1>

{if isset($confirmation)}
<p>{l s='Your message has been successfully sent to our team.'}</p>
<ul class="footer_links">
<li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>
</ul>
{elseif isset($alreadySent)}
<p>{l s='Your message has already been sent.'}</p>
<ul class="footer_links">
<li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>
</ul>
{else}
<p class="bold">{l s='For questions about an order or for more information about our products'}.</p>
{include file="$tpl_dir./errors.tpl"}
<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">
<fieldset>
<h3>{l s='send a message'}</h3>
<p class="select">
<label for="id_contact">{l s='Subject Heading'}</label>
{if isset($customerThread.id_contact)}
{foreach from=$contacts item=contact}
{if $contact.id_contact == $customerThread.id_contact}
<input type="text" id="contact_name" name="contact_name" value="{$contact.name|escape:'htmlall':'UTF-8'}" readonly="readonly" />
<input type="hidden" name="id_contact" value="{$contact.id_contact}" />
{/if}
{/foreach}
</p>
{else}
<select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">
<option value="0">{l s='-- Choose --'}</option>
{foreach from=$contacts item=contact}
<option value="{$contact.id_contact|intval}" {if isset($smarty.post.id_contact) && $smarty.post.id_contact == $contact.id_contact}selected="selected"{/if}>{$contact.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</p>
<p id="desc_contact0" class="desc_contact">&nbsp;</p>
{foreach from=$contacts item=contact}
<p id="desc_contact{$contact.id_contact|intval}" class="desc_contact" style="display:none;">
{$contact.description|escape:'htmlall':'UTF-8'}
</p>
{/foreach}
{/if}
<p class="text">
<label for="email">{l s='Email address'}</label>
{if isset($customerThread.email)}
<input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />
                                       

{else}
<input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />
                                       
{/if}
</p>
                       


                         <p class="text">
<label for="phone">{l s='Telefon'}</label>
{if isset($customerThread.phone)}

                                        <input type="text" id="phone" name="from" value="{$phone|escape:'htmlall':'UTF-8'}" />

{else}

                                        <input type="text" id="phone" name="from" value="{$phone|escape:'htmlall':'UTF-8'}" />
{/if}
</p>

{if !$PS_CATALOG_MODE}
{if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
<p class="text select">
<label for="id_order">{l s='Order reference'}</label>
{if !isset($customerThread.id_order) && isset($isLogged) && $isLogged == 1}
<select name="id_order" >
<option value="0">{l s='-- Choose --'}</option>
{foreach from=$orderList item=order}
<option value="{$order.value|intval}" {if $order.selected|intval}selected="selected"{/if}>{$order.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{elseif !isset($customerThread.id_order) && !isset($isLogged)}
<input type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order)}{$smarty.post.id_order|intval}{/if}{/if}" />
{elseif $customerThread.id_order > 0}
<input type="text" name="id_order" id="id_order" value="{$customerThread.id_order|intval}" readonly="readonly" />
{/if}
</p>
{/if}
{if isset($isLogged) && $isLogged}
<p class="text select">
<label for="id_product">{l s='Product'}</label>
{if !isset($customerThread.id_product)}
{foreach from=$orderedProductList key=id_order item=products name=products}
<select name="id_product" id="{$id_order}_order_products" class="product_select" style="width:300px;{if !$smarty.foreach.products.first} display:none; {/if}" {if !$smarty.foreach.products.first}disabled="disabled" {/if}>
<option value="0">{l s='-- Choose --'}</option>
{foreach from=$products item=product}
<option value="{$product.value|intval}">{$product.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{/foreach}
{elseif $customerThread.id_product > 0}
<input type="text" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
{/if}
</p>
{/if}
{/if}
{if $fileupload == 1}
<p class="text">
<label for="fileUpload">{l s='Attach File'}</label>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input type="file" name="fileUpload" id="fileUpload" />
</p>
{/if}
<p class="textarea">
<label for="message">{l s='Message'}</label>
<textarea id="message" name="message" rows="15" cols="10">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>
</p>
<p class="submit">
<input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" onclick="$(this).hide();" />
</p>
</fieldset>
</form>
{/if}


Все отправляется без ошибок, но в письме по прежнему нет информации с phone!
Подскажите тупенькому :'(
17 Апрель 2014, 11:42:13
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Уже все сказали,
Значит в контроллере ContactController нет названия поля, которое вы добавили.
Смотрите форму контактов, файл contact-foem.tpl, поля должны быть такие, как в этом шаблоне.
что может быть не понятно?
Нет такого названия "phone" в обработчике формы. Поэтому и не приходит. Смотри какие поля есть в форме контактов и давай такие-же названия (id, name) для полей своей формы.
Или переопределяй контроллер, добавляй новое поле для отравки в письме. Ну и шаблоны писем нужно поменять, там тоже добавить новую переменную  "phone".