xside 0 Опубликовано 12 сентября, 2015 Жалоба Share Опубликовано 12 сентября, 2015 У меня возникло несколько небольших проблемок которые хотелось бы решить. 1) У меня в разделе статьи нужно поставить дату. Дата публикации статьи есть в базе данных, есть ли метка что бы ее вывести на сайт? Программист сказал, что может сделать, но тогда проблемка с обновлением будет (после обновления опять слетать будет). 2) Еще проблемка при оформлении заказа. На стадии оформлении, при выборе адреса и данных о доставке, когда нажимаю «продолжить» уже падает заказ и делает бессмысленным следующую страницу подтверждения заказа. Как исправить это? Что бы заказ падал после подтверждения и не до. 3) На страницы оформления заказ, нет обязательных полей для заполнения. Как сделать обязательными поля, например хотя бы имя и телефон? А то получается лофа для роботов где можно формировать заказы ничего не вводя, пачками. Спасибо! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 сентября, 2015 Жалоба Share Опубликовано 12 сентября, 2015 1. Не будет ничего слетать, если правите смарти-метки и кладёте их не в /app/Vendor/smarty/vam_plugins/, в а /app/Vendor/smarty/local_plugins/ . Если нужно внутри категории выводить, то есть уже метка {$node.date_added} 2. Это специально сделано, многие забывают нажимать подтвердить. 3. По умолчанию имено поля Имя, Email, Телефон обязательны. Может удалили что у себя?! Можно в демке пример посмотреть http://demo2.vamshop.ru Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 сентября, 2015 Жалоба Share Опубликовано 12 сентября, 2015 По поводу статуса заказа, можно попробовать в /app/Controller/OrdersCotroller.php закомментировать/удалить: // Get the default order status if ($order['Order']['order_status_id'] == 0) { $default_status = $this->Order->OrderStatus->find('first', array('conditions' => array('default' => '1'))); $order['Order']['order_status_id'] = $default_status['OrderStatus']['id']; } Ссылка на сообщение Поделиться на другие сайты
xside 0 Опубликовано 13 сентября, 2015 Автор Жалоба Share Опубликовано 13 сентября, 2015 C первыми двумя пунктами разобрался, а с последним не пойму. У меня этот шаблон (оформление заказа) в микрошаблоних - checkout. В демоверсии я вообще такого не вижу почему то. Даже не пойму с чем сравнивать? Вот содержание моего. Код вроде не менял программист, кроме стилей для дизайна: <script type="text/javascript">$(function () { $("#contentform :input:text:visible:enabled:first").focus(); $("form#contentform :input").change(function() { $("input[id='" + this.id + "']").addClass("modified"); $("radio[id='" + this.id + "']").addClass("modified"); $("select[id='" + this.id + "']").addClass("modified"); $("checkbox[id='" + this.id + "']").addClass("modified"); $("textarea[id='" + this.id + "']").addClass("modified"); }); $("div.radio").click(function(){$("div.radio").parent().removeClass("sselected");$(this).parent().addClass("sselected");}); $("div.radio").click(function(){$("div.radio").parent().removeClass("sselected");$(this).parent().addClass("sselected");}); // validate form $("#contentform").validate({ rules: { bill_name: { required: true, minlength: 2 }, email: { required: true, minlength: 6, email: true }, phone: { required: true, minlength: 10, }, }, messages: { bill_name: { required: "{lang}Required field{/lang}", minlength: "{lang}Required field{/lang}. {lang}Min length{/lang}: 2" }, email: { required: "{lang}Required field{/lang}", minlength: "{lang}Required field{/lang}. {lang}Min length{/lang}: 6" }, phone: { required: "{lang}Required field{/lang}", minlength: "{lang}Required field{/lang}. {lang}Min length{/lang}: 10" } } }); $(hidePay); function hidePay() { if ($("#diff_shipping").is(":checked") == "1") { $("#diff_shipping").attr("checked", true); } else { $("#diff_shipping").attr("checked", false); $("#ship_information").css("display","none"); } $("#diff_shipping").click(function(){ // If checked if ($("#diff_shipping").is(":checked")) { //show the hidden div $("#ship_information").show("fast"); } else { $("#ship_information").hide("fast"); } }); ;} $("#bill_country").change(function () { $("#bill_state_div").load("{base_path}/countries/billing_regions/" + $(this).val()); }); $("#ship_country").change(function () { $("#ship_state_div").load("{base_path}/countries/shipping_regions/" + $(this).val()); }); $("#bill_state").change(function(){ var http_send = "{base_path}/orders/save_data/"; var form_data = $("#contentform").serialize(); $.ajax({ type: "POST", url: http_send, data: form_data, async: true, success: function (data, textStatus) { $("#checkout").html(data);}, beforeSend: function () { }, complete: function () { $("#bill_state").focus(); } }); return false; }); });</script><div id="checkout"> <form action="{$checkout_form_action}" method="post" id="contentform" class="form-horizontal"> <div class="information-left"> <h3>{lang}Billing Information{/lang}</h3> Вы можете указать только ваш номер телефона или e-mail. Остальную информацию мы уточним связавшись с вами. <div class="form-group"> <label class="control-label" for="bill_name">{lang}Name{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="bill_name" id="bill_name" value="{if $customer.AddressBook.ship_name}{$customer.AddressBook.ship_name}{else}{$order.bill_name}{/if}"/> </div> </div> <div class="form-group"> <label class="control-label" for="bill_line_1">{lang}Address Line 1{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="bill_line_1" id="bill_line_1" value="{if $customer.AddressBook.ship_line_1}{$customer.AddressBook.ship_line_1}{else}{$order.bill_line_1}{/if}" /> </div> </div> <div class="form-group"> <label class="control-label" for="bill_line_2">{lang}Address Line 2{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="bill_line_2" id="bill_line_2" value="{if $customer.AddressBook.ship_line_2}{$customer.AddressBook.ship_line_2}{else}{$order.bill_line_2}{/if}" /> </div> </div> <div class="form-group"> <label class="control-label" for="bill_city">{lang}City{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="bill_city" id="bill_city" value="{if $customer.AddressBook.ship_city}{$customer.AddressBook.ship_city}{else}{$order.bill_city}{/if}" /> </div> </div> <div class="form-group"> <label class="control-label" for="bill_zip">{lang}Zipcode{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="bill_zip" id="bill_zip" value="{if $customer.AddressBook.ship_zip}{$customer.AddressBook.ship_zip}{else}{$order.bill_zip}{/if}" /> </div> </div> <div class="form-group"> <label class="control-label" for="bill_country">{lang}Country{/lang}:</label> <div class="col"> <select name="bill_country" class="form-control" id="bill_country">{if $customer.AddressBook.ship_country}{country_list selected={$customer.AddressBook.ship_country}}{else}{country_list}{/if}</select> </div> </div> <div class="form-group"> <div id="bill_state_div"> <label class="control-label" for="bill_state">{lang}State{/lang}:</label> <div class="col"> <select name="bill_state" class="form-control" id="bill_state">{if $customer.AddressBook.ship_state}{state_list country={$customer.AddressBook.ship_country} selected={$customer.AddressBook.ship_state}}{else}{state_list selected={$smarty.post.bill_state}}{/if}</select> </div> </div> </div> <div class="form-group"> <div class="col"> <div class="checkbox"> <!--<label><input type="checkbox" name="diff_shipping" id="diff_shipping" /> {lang}My delivery and billing addresses are not the same.{/lang}</label>--> </div> </div> </div> <div id="ship_information"> <h3>{lang}Shipping Information{/lang}</h3> <div class="form-group"> <label class="control-label" for="ship_name">{lang}Name{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="ship_name" id="ship_name" value="{$order.ship_name}" /> </div> </div> <div class="form-group"> <label class="control-label" for="ship_line_1">{lang}Address Line 1{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="ship_line_1" id="ship_line_1" value="{$order.ship_line_1}" /> </div> </div> <div class="form-group"> <label class="control-label" for="ship_line_2">{lang}Address Line 2{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="ship_line_2" id="ship_line_2" value="{$order.ship_line_2}" /> </div> </div> <div class="form-group"> <label class="control-label" for="ship_city">{lang}City{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="ship_city" id="ship_city" value="{$order.ship_city}" /> </div> </div> <div class="form-group"> <label class="control-label" for="ship_zip">{lang}Zipcode{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="ship_zip" id="ship_zip" value="{$order.ship_zip}" /> </div> </div> <div class="form-group"> <label class="control-label" for="ship_country">{lang}Country{/lang}:</label> <div class="col"> <select name="ship_country" class="form-control" id="ship_country">{country_list}</select> </div> </div> <div class="form-group"> <div id="ship_state_div"> <label class="control-label" for="ship_state">{lang}State{/lang}:</label> <div class="col"> <select name="ship_state" class="form-control" id="ship_state">{state_list}</select> </div> </div> </div> </div> <h3>{lang}Contact Information{/lang}</h3> <div class="form-group"> <label class="control-label" for="email">{lang}E-mail{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="email" id="email" value="{if $customer.Customer.email}{$customer.Customer.email}{else}{$order.email}{/if}" /> </div> </div> <div class="form-group"> <label class="control-label" for="phone">{lang}Phone{/lang}:</label> <div class="col"> <input type="text" class="form-control" name="phone" id="phone" value="{if $customer.AddressBook.phone}{$customer.AddressBook.phone}{else}{$order.phone}{/if}" /> </div> </div> <div class="form-group"> <label class="control-label" for="comment">{lang}Order Comments{/lang}:</label> <div class="col"> <textarea class="form-control" name="comment" id="comment" cols="30" rows="5">{$order_comment}</textarea> </div> </div> <div class="form-group-coupon"></div> {module alias="coupons" action="checkout_box"} </div> <div class="information-right"> <div id="shipping_method"> <h3>{lang}Shipping Method{/lang}</h3> <div class="clearfix"> <ul class="shipping-methods"> {foreach from=$ship_methods item=ship_method} <li class="item{if $ship_method.id == $order.shipping_method_id} sselected{/if}"> <div class="radio"> <input type="radio" name="shipping_method_id" value="{$ship_method.id}" id="ship_{$ship_method.id}" {if $ship_method.id == $order.shipping_method_id} checked="checked"{/if}/> </div> <div class="shipping-logo"> {if $ship_method.icon}<img src="{base_path}/img/icons/shipping/{$ship_method.icon}" alt="{$ship_method.name}" title="{$ship_method.name}" /> {/if} </div> <div class="shipping-name"> {if $ship_method.cost_plain > 0}<span class="description">{$ship_method.cost}</span>{/if}<span class="name">{lang}{$ship_method.name}{/lang}</span> <br/>{if $ship_method.description}<span class="description">{$ship_method.description}</span>{/if} </div> </li> {/foreach} </ul> </div> </div> <div id="payment_method"> <h3>{lang}Payment Method{/lang}</h3> <div class="clearfix"> <ul class="payment-methods"> {foreach from=$payment_methods item=payment_method} <li class="item{if $payment_method.id == $order.payment_method_id} sselected{/if}"> <div class="radio"> <input type="radio" name="payment_method_id" value="{$payment_method.id}" id="payment_{$payment_method.id}" {if $payment_method.id == $order.payment_method_id} checked="checked" {/if}/> </div> <div class="shipping-logo"> {if $payment_method.icon}<img class="text-center" src="{base_path}/img/icons/payment/{$payment_method.icon}" alt="{$payment_method.name}" title="{$payment_method.name}" /> {/if} </div> <div class="shipping-name"> <span class="name">{lang}{$payment_method.name}{/lang}</span> <br/>{if $payment_method.description}<span class="description">{$payment_method.description}</span>{/if} </div> </li> {/foreach} </ul> </div> </div> </div> <div class="clear"></div> <div class="form-group-but"> <div class="col-but"> <button class="btn-warning" type="submit" value="Продолжить"><i class="check"></i> Продолжить</button> </div> <div class="clear"></div> </div> </form></div> Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 сентября, 2015 Жалоба Share Опубликовано 13 сентября, 2015 Попробуйте оригинальный шаблон, т.е. в Админке - Содержание - Страницы, внутри страницы Оформление удалите параметр template, что б просто было {checkout} Может у Вас просто ошибка какая-то в Вашем шаблоне. Ссылка на сообщение Поделиться на другие сайты
xside 0 Опубликовано 14 сентября, 2015 Автор Жалоба Share Опубликовано 14 сентября, 2015 Да, действительно, подключил старый шаблон, есть три обязательных поля... буду с программистом говорить... Спасибо за помощь! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 сентября, 2015 Жалоба Share Опубликовано 14 сентября, 2015 Если у Вас никаких особых правок не было, просто оставьте шаблон по умолчанию. Либо можете просто по-новой создать свой шаблон, вот так - http://forum.vamshop.ru/topic/12585-как-упростить-оформление-заказа-убрать-поля-формы-лишнюю-информацию/ Ссылка на сообщение Поделиться на другие сайты
xside 0 Опубликовано 14 сентября, 2015 Автор Жалоба Share Опубликовано 14 сентября, 2015 (изменено) Да, теперь я хочу поменять надпись текстов в обязательном поле, и непойму где они меняютсся?. Помню список меток был щас не найду. Я в принципе голый текст поставил, без {lang}Required field{/lang} можно ли так делать? Сделал тупо required: " *Обязательно". И зачем это сделано? Обычный русский текст вынесен отдельно? Это если сайт мультиязычный и можно было легко менять языки? bill_name: { required: "{lang}Required field{/lang}", minlength: "{lang}Required field{/lang}. {lang}Min length{/lang}: 2" Изменено 14 сентября, 2015 пользователем xside Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 сентября, 2015 Жалоба Share Опубликовано 14 сентября, 2015 Да, это для мультиязычности сделано, если у Вас один язык - можете прямо русским текстом писать в шаблоне нужный текст. Это оригинал текста на английском, а сам перевод в /app/Locale Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения