Перейти к содержанию
Форум поддержки пользователей VamShop

Несколько небольших проблем


Рекомендуемые сообщения

У меня возникло несколько небольших проблемок которые хотелось бы решить.

 

1)      У меня в разделе статьи нужно поставить дату. Дата публикации статьи есть в базе данных, есть ли метка что бы ее вывести на сайт? Программист сказал, что может сделать, но тогда проблемка с обновлением будет (после обновления опять слетать будет).

2)      Еще проблемка при оформлении заказа. На стадии оформлении, при выборе адреса и данных о доставке, когда нажимаю «продолжить» уже падает заказ и делает бессмысленным следующую страницу подтверждения заказа. Как исправить это? Что бы заказ падал после подтверждения и не до.

3)      На страницы оформления заказ, нет обязательных полей для заполнения. Как сделать обязательными поля, например хотя бы имя и телефон? А то получается лофа для роботов где можно формировать заказы ничего не вводя, пачками.

Спасибо!

Ссылка на сообщение
Поделиться на другие сайты

1. Не будет ничего слетать, если правите смарти-метки и кладёте их не в /app/Vendor/smarty/vam_plugins/, в а /app/Vendor/smarty/local_plugins/ . Если нужно внутри категории выводить, то есть уже метка {$node.date_added}

2. Это специально сделано, многие забывают нажимать подтвердить.

3. По умолчанию имено поля Имя, Email, Телефон обязательны. Может удалили что у себя?! Можно в демке пример посмотреть http://demo2.vamshop.ru

Ссылка на сообщение
Поделиться на другие сайты

По поводу статуса заказа, можно попробовать в /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'];
			}

 

Ссылка на сообщение
Поделиться на другие сайты

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>

 

 

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте оригинальный шаблон, т.е. в Админке - Содержание - Страницы, внутри страницы Оформление удалите параметр template, что б просто было {checkout}

Может у Вас просто ошибка какая-то в Вашем шаблоне.

Ссылка на сообщение
Поделиться на другие сайты

Да, действительно, подключил старый шаблон, есть три обязательных поля... буду с программистом говорить... Спасибо за помощь!

Ссылка на сообщение
Поделиться на другие сайты

Если у Вас никаких особых правок не было, просто оставьте шаблон по умолчанию.

Либо можете просто по-новой создать свой шаблон, вот так - http://forum.vamshop.ru/topic/12585-как-упростить-оформление-заказа-убрать-поля-формы-лишнюю-информацию/

Ссылка на сообщение
Поделиться на другие сайты

Да, теперь я хочу поменять надпись текстов в обязательном поле, и непойму где они меняютсся?. Помню список меток был щас не найду. Я в принципе голый текст поставил, без  {lang}Required field{/lang} можно ли так делать? Сделал тупо required: " *Обязательно". 

И зачем это сделано? Обычный русский текст вынесен отдельно? Это если сайт мультиязычный и можно было легко менять языки?

 

      bill_name: {

 

 

        required: "{lang}Required field{/lang}",

 

 

        minlength: "{lang}Required field{/lang}. {lang}Min length{/lang}: 2"

 

 

Изменено пользователем xside
Ссылка на сообщение
Поделиться на другие сайты

Да, это для мультиязычности сделано, если у Вас один язык - можете прямо русским текстом писать в шаблоне нужный текст.

Это оригинал текста на английском, а сам перевод в /app/Locale

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...