Автор Тема: Не могу определить шаблон вывода  (Прочитано 691 раз)

13 Июля 2014, 19:48:37
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не могу определить шаблон вывода страницы "Оформление заказа в один шаг".
Изменение и даже удаление файла "Order-opc-new-account.tpl" ничего не меняет.
Необходимо отредактировать раздел "1. Персональная информация".
Все необходимые изменения в бэк-офисе, файлах контроллеров, authentication.tpl, address.tpl произвел, ошибок нет, а этот шаблон не могу определить.
13 Июля 2014, 20:37:46
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 32995
  • Репутация: +26759/-0
    • Просмотр профиля
Шаблон страницы "Оформление заказа в один шаг" - order-opc.tpl
В него входят:
- Шаблон корзины shopping-cart.tpl
- Шаблон формы адреса order-address.tpl
- Шаблон формы регистрации order-opc-new-account.tpl
- Шаблон  методов доставки order-carrier.tpl
- Шаблон  методов оплаты payment.tpl
13 Июля 2014, 20:44:08
Ответ #2
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Шаблон страницы "Оформление заказа в один шаг" - order-opc.tpl
В него входят:
- Шаблон корзины shopping-cart.tpl
- Шаблон формы адреса order-address.tpl
- Шаблон формы регистрации order-opc-new-account.tpl
- Шаблон  методов доставки order-carrier.tpl
- Шаблон  методов оплаты payment.tpl


Спасибо большое!
13 Июля 2014, 21:55:16
Ответ #3
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Шаблон страницы "Оформление заказа в один шаг" - order-opc.tpl
В него входят:
- Шаблон корзины shopping-cart.tpl
- Шаблон формы адреса order-address.tpl
- Шаблон формы регистрации order-opc-new-account.tpl
- Шаблон  методов доставки order-carrier.tpl
- Шаблон  методов оплаты payment.tpl

собственно хотел убрать алиас и почему-то не отображается выбор страны.
Не подскажете, как поправить?
14 Июля 2014, 12:01:54
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 20842
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Тему на форуме найдите, как прятать не нужные поля в форме заказа. Не удалять, а спрятать.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
15 Июля 2014, 16:34:05
Ответ #5
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тему на форуме найдите, как прятать не нужные поля в форме заказа. Не удалять, а спрятать.


я нашел эти темы, читал 100 раз. На шаблонах address.tpl и authentication.tpl все нашел и прекрасно скрыл.
в классах address.php и customer.php поставил false где требуется.
Но в шаблоне order-address.tpl только переменные address, там нет детализаций алиаса и страны.
Мне нужно алиас скрыть, а выбор страны отобразить.
Подскажите, плз, где копать.
15 Июля 2014, 18:16:00
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 20842
  • Репутация: +25276/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Шаблон страницы "Оформление заказа в один шаг" - order-opc.tpl
В него входят:
- Шаблон корзины shopping-cart.tpl
- Шаблон формы адреса order-address.tpl
- Шаблон формы регистрации order-opc-new-account.tpl
- Шаблон  методов доставки order-carrier.tpl
- Шаблон  методов оплаты payment.tpl
order-address.tpl - это все адреса, детализация в address.tpl
Поле "Страна" там стоит по-умолчанию. Оно что у вас не показывается?
Поле альяс спрятать просто, hidden + сразу определить значение.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
15 Июля 2014, 19:32:06
Ответ #7
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Шаблон страницы "Оформление заказа в один шаг" - order-opc.tpl
В него входят:
- Шаблон корзины shopping-cart.tpl
- Шаблон формы адреса order-address.tpl
- Шаблон формы регистрации order-opc-new-account.tpl
- Шаблон  методов доставки order-carrier.tpl
- Шаблон  методов оплаты payment.tpl
order-address.tpl - это все адреса, детализация в address.tpl
Поле "Страна" там стоит по-умолчанию. Оно что у вас не показывается?
Поле альяс спрятать просто, hidden + сразу определить значение.

На странице где идет заполнение адреса (address.tpl, я ставил hidden, сейчас, по вашему совету, поставил value= "Home" (остальное закомментил), вот:
<p class="required text" id="adress_alias" hidden="">
<label for="alias">{l s='Please assign an address title for future reference.'} <sup>*</sup></label>
<input type="text" id="alias" name="alias" value="{*{if isset($smarty.post.alias)}{$smarty.post.alias}{else if isset($address->alias)}{$address->alias|escape:'html'}{elseif !$select_address}{l s='My address'}{*{/if}*}Home" />
</p>

на странице address.tpl алиас не отображается. Но на странице оформлении заказа order-address.tpl алиас вылазит опять!
Поле "Страна" да, оно по умолчанию, я его не трогал, оно мне нужно, на address.tpl отображается прекрасно, но на order-address.tpl страна пропадает! И почему-то всегда одна и та же страна записывается в данные клиента, какую бы страну не выбирал на странице address.tpl ! Где еще можно посмотреть?!
 
15 Июля 2014, 19:39:39
Ответ #8
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вот полностью содержание address.tpl:
<script type="text/javascript">
// <![CDATA[
var idSelectedCountry = {if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}{if isset($address->id_state)}{$address->id_state|intval}{else}false{/if}{/if};
var countries = new Array();
var countriesNeedIDNumber = new Array();
var countriesNeedZipCode = new Array();
{foreach from=$countries item='country'}
{if isset($country.states) && $country.contains_states}
countries[{$country.id_country|intval}] = new Array();
{foreach from=$country.states item='state' name='states'}
countries[{$country.id_country|intval}].push({ldelim}'id' : '{$state.id_state}', 'name' : '{$state.name|addslashes}'{rdelim});
{/foreach}
{/if}
{if $country.need_identification_number}
countriesNeedIDNumber.push({$country.id_country|intval});
{/if}
{if isset($country.need_zip_code)}
countriesNeedZipCode[{$country.id_country|intval}] = {$country.need_zip_code};
{/if}
{/foreach}
$(function(){ldelim}
$('.id_state option[value={if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}{if isset($address->id_state)}{$address->id_state|intval}{/if}{/if}]').attr('selected', true);
{rdelim});
{literal}
$(document).ready(function() {
$('#company').on('input',function(){
vat_number();
});
vat_number();
function vat_number()
{
if ($('#company').val() != '')
$('#vat_number').show();
else
$('#vat_number').hide();
}
});
{/literal}
//]]>
</script>

{capture name=path}{l s='Your addresses'}{/capture}


<h1 class="page-title">{l s='Your addresses'}</h1>

<label>
{if isset($id_address) && (isset($smarty.post.alias) || isset($address->alias))}
{l s='Modify address'}
{if isset($smarty.post.alias)}
"{$smarty.post.alias}"
{else}
{if isset($address->alias)}"{$address->alias|escape:'html'}"{/if}
{/if}
{else}
{l s='To add a new address, please fill out the form below.'}
{/if}
</label>

{include file="$tpl_dir./errors.tpl"}

<p class="required" style="text-align: right;"><sup>*</sup> {l s='Required field'}</p>

<form action="{$link->getPageLink('address', true)|escape:'html'}" method="post" class="std" id="add_address">
<fieldset>
<h3>{if isset($id_address)}{l s='Your address'}{else}{l s='New address'}{/if}</h3>
<p class="required text dni">
<label for="dni">{l s='Identification number'} <sup>*</sup></label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{else}{if isset($address->dni)}{$address->dni|escape:'html'}{/if}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{assign var="stateExist" value="false"}
{assign var="postCodeExist" value="false"}
{foreach from=$ordered_adr_fields item=field_name}
{if $field_name eq 'company'}
<p class="text">
<label for="company">{l s='Company'}</label>
<input type="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{else}{if isset($address->company)}{$address->company|escape:'html'}{/if}{/if}" />
</p>
{/if}
{if $field_name eq 'vat_number'}
<div id="vat_area">
<div id="vat_number">
<p class="text">
<label for="vat_number">{l s='VAT number'}</label>
<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'html'}{/if}{/if}" />
</p>
</div>
</div>
{/if}
{if $field_name eq 'firstname'}
<p class="required text">
<label for="firstname">{l s='First name'} <sup>*</sup></label>
<input type="text" name="firstname" id="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{else}{if isset($address->firstname)}{$address->firstname|escape:'html'}{/if}{/if}" />
</p>
{/if}
{if $field_name eq 'lastname'}
<p class="required text">
<label for="lastname">{l s='Last name'} <sup>*</sup></label>
<input type="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{else}{if isset($address->lastname)}{$address->lastname|escape:'html'}{/if}{/if}" />
</p>
{/if}
{if $field_name eq 'address1'}
<p class="required text">
<label for="address1">{l s='Address'} <sup>*</sup></label>
<input type="text" id="address1" name="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{else}{if isset($address->address1)}{$address->address1|escape:'html'}{/if}{/if}" />
</p>
{/if}
{if $field_name eq 'address2'}
<p class="required text">
<label for="address2">{l s='Address (Line 2)'}</label>
<input type="text" id="address2" name="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{else}{if isset($address->address2)}{$address->address2|escape:'html'}{/if}{/if}" />
</p>
{/if}
{if $field_name eq 'postcode'}
{assign var="postCodeExist" value="true"}
<p class="required postcode text">
<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>
<input type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'html'}{/if}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{/if}
{if $field_name eq 'city'}
<p class="required text">
<label for="city">{l s='City'} <sup>*</sup></label>
<input type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'html'}{/if}{/if}" maxlength="64" />
</p>
{*
if customer hasn't update his layout address, country has to be verified
but it's deprecated
*}
{/if}
{if $field_name eq 'Country:name' || $field_name eq 'country'}
<p class="required select">
<label for="id_country">{l s='Country'} <sup>*</sup></label>
<select id="id_country" name="id_country">{$countries_list}</select>
</p>
{if $vatnumber_ajax_call}
<script type="text/javascript">
var ajaxurl = '{$ajaxurl}';
{literal}
$(document).ready(function(){
$('#id_country').change(function() {
$.ajax({
type: "GET",
url: ajaxurl+"vatnumber/ajax.php?id_country="+$('#id_country').val(),
success: function(isApplicable){
if(isApplicable == "1")
{
$('#vat_area').show();
$('#vat_number').show();
}
else
{
$('#vat_area').hide();
}
}
});
});
});
{/literal}
</script>
{/if}
{/if}
{if $field_name eq 'State:name'}
{assign var="stateExist" value="true"}
<p class="required id_state select">
<label for="id_state">{l s='State'} <sup>*</sup></label>
<select name="id_state" id="id_state">
<option value="">-</option>
</select>
</p>
{/if}
{/foreach}
{if $postCodeExist eq "false"}
<p class="required postcode text hidden">
<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>
<input type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'html'}{/if}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{/if}
{if $stateExist eq "false"}
<p class="required id_state select">
<label for="id_state">{l s='State'} <sup>*</sup></label>
<select name="id_state" id="id_state">
<option value="">-</option>
</select>
</p>
{/if}
                <p class="textarea" hidden="">
<label for="other">{l s='Additional information'}</label>
<textarea id="other" name="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{else}{if isset($address->other)}{$address->other|escape:'html'}{/if}{/if}</textarea>
</p>
{if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos required">{l s='You must register at least one phone number.'}</p>
{/if}
{*<p class="text">
<label for="phone">{l s='Home phone'}</label>
<input type="text" id="phone" name="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}{if isset($address->phone)}{$address->phone|escape:'html'}{/if}{/if}" />
</p>*}
<p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" id="phone_mobile" name="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}{if isset($address->phone_mobile)}{$address->phone_mobile|escape:'html'}{/if}{/if}" />
</p>
<p class="required text" id="adress_alias" hidden="">
<label for="alias">{l s='Please assign an address title for future reference.'} <sup>*</sup></label>
<input type="text" id="alias" name="alias" value="{*{if isset($smarty.post.alias)}{$smarty.post.alias}{else if isset($address->alias)}{$address->alias|escape:'html'}{elseif !$select_address}{l s='My address'}{*{/if}*}Home" />
</p>
</fieldset>
<p class="submit2">
{if isset($id_address)}<input type="hidden" name="id_address" value="{$id_address|intval}" />{/if}
{if isset($back)}<input type="hidden" name="back" value="{$back}" />{/if}
{if isset($mod)}<input type="hidden" name="mod" value="{$mod}" />{/if}
{if isset($select_address)}<input type="hidden" name="select_address" value="{$select_address|intval}" />{/if}
<input type="hidden" name="token" value="{$token}" />
<input type="submit" name="submitAddress" id="submitAddress" value="{l s='Save'}" class="button" />
</p>
</form>
15 Июля 2014, 20:23:41
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86048
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
<p class="required text" id="adress_alias" hidden="">
<label for="alias">{l s='Please assign an address title for future reference.'} <sup>*</sup></label>
<input type="text" id="alias" name="alias" value="{*{if isset($smarty.post.alias)}{$smarty.post.alias}{else if isset($address->alias)}{$address->alias|escape:'html'}{elseif !$select_address}{l s='My address'}{*{/if}*}Home" />
</p>
hidden=""Это не правильно.

Если нужно добавить скрытое поле, то вот так
<input type="hidden" id="alias" name="alias" value="Home" />
15 Июля 2014, 22:38:59
Ответ #10
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
<p class="required text" id="adress_alias" hidden="">
<label for="alias">{l s='Please assign an address title for future reference.'} <sup>*</sup></label>
<input type="text" id="alias" name="alias" value="{*{if isset($smarty.post.alias)}{$smarty.post.alias}{else if isset($address->alias)}{$address->alias|escape:'html'}{elseif !$select_address}{l s='My address'}{*{/if}*}Home" />
</p>
hidden=""Это не правильно.

Если нужно добавить скрытое поле, то вот так
<input type="hidden" id="alias" name="alias" value="Home" />


Спасибо, поправил. Теперь алиас не отображается если гостевая покупка, а если клиент зареген, алиас отображается.
Страна не отображается по-прежнему.
Что еще посмотреть?
 
17 Июля 2014, 17:34:40
Ответ #11
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
<p class="required text" id="adress_alias" hidden="">
<label for="alias">{l s='Please assign an address title for future reference.'} <sup>*</sup></label>
<input type="text" id="alias" name="alias" value="{*{if isset($smarty.post.alias)}{$smarty.post.alias}{else if isset($address->alias)}{$address->alias|escape:'html'}{elseif !$select_address}{l s='My address'}{*{/if}*}Home" />
</p>
hidden=""Это не правильно.

Если нужно добавить скрытое поле, то вот так
<input type="hidden" id="alias" name="alias" value="Home" />

Итак правильно, и как я скрыл: http://htmlbook.ru/html/attr/hidden !!
Страна так и не отображается, в чем может быть дело, нигде не скрыта и true стоит в классе адреса!
17 Июля 2014, 18:27:00
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 13276
  • Репутация: +14555/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Итак правильно, и как я скрыл: http://htmlbook.ru/html/attr/hidden !!
HTML 5 не все браузеры поддерживают.
Скрытое поле и не видимый блок разные вещи. Со скрытам полем можно работать, с блоком нет.
Поэтому DarinSr правильно написал, оптимальное решение.

Страна обрабатывается js, после загрузки страницы проверяются правила показа полей.
У вас запрета по странам?
Сделайте это поле отдельно, стандарное скройте и просто вставьте страну Россия, если нет других.
17 Июля 2014, 18:42:44
Ответ #13
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Итак правильно, и как я скрыл: http://htmlbook.ru/html/attr/hidden !!
HTML 5 не все браузеры поддерживают.
Скрытое поле и не видимый блок разные вещи. Со скрытам полем можно работать, с блоком нет.
Поэтому DarinSr правильно написал, оптимальное решение.

Страна обрабатывается js, после загрузки страницы проверяются правила показа полей.
У вас запрета по странам?
Сделайте это поле отдельно, стандарное скройте и просто вставьте страну Россия, если нет других.

Нет, не Россия, мы не в России и у нас несколько стран.
17 Июля 2014, 18:48:32
Ответ #14
  • Новичок
  • *
  • Сообщений: 48
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Итак правильно, и как я скрыл: http://htmlbook.ru/html/attr/hidden !!
HTML 5 не все браузеры поддерживают.
Скрытое поле и не видимый блок разные вещи. Со скрытам полем можно работать, с блоком нет.
Поэтому DarinSr правильно написал, оптимальное решение.

Страна обрабатывается js, после загрузки страницы проверяются правила показа полей.
У вас запрета по странам?
Сделайте это поле отдельно, стандарное скройте и просто вставьте страну Россия, если нет других.

В том и дело, не скрывал специально и оно не скрыто, на странице ввода адреса стоит выбор с обработкой, а на стр. оформления заказа  - не отображает. Причем не отображает ни на зарегеном клиенте, который только что это поле на стр. ввода адреса выбрал из стран, ни на новом гостевом клиенте.