Jump to content

Recommended Posts

Пришлось переиминовать где надо Simpla в Newcms  и вот что в итоге:
Fatal error: Class 'novaposhta' not found in /home/virtwww/w_shop-wallkar_113c0b12/http/api/Newcms.php on line 69 

 

Но клас то есть в Ньюкмс все как надо..

Link to post
Share on other sites

Пришлось переиминовать где надо Simpla в Newcms  и вот что в итоге:

Fatal error: Class 'novaposhta' not found in /home/virtwww/w_shop-wallkar_113c0b12/http/api/Newcms.php on line 69 

 

Но клас то есть в Ньюкмс все как надо..

Делать на нуленной симпле а-та-та.

Link to post
Share on other sites

Будет, если все сделать правильно))

Откройте этот класс и сравните с соседними файлами...

Класс писался под Симплу, а не кривые нуллы.

Link to post
Share on other sites

Значит работать не будет ?  Смысл покупать для теста сырую систему..

А смысл использовать кривой нулл?

В отличии от вашего нулла оригинальная симпла работает на ура, и многие дополнения ставятся без проблем.

Мало того симплу можно использовать на локалхосте и для этого не нужен нулл.

P.S. Вообще не люблю работать с шаровиками которые хотят все, а платить не хотят ни копейки.

Link to post
Share on other sites

В этом нулле переделано немного ядро, точнее не переделано, а автозаменой поменяно Simpla на Newcms :)

Класс, написанный для Симлы, начинается примерно так

require_once('Simpla.php');

class Blog extends Simpla
{

А в нулле все немного по-другому  :)

Link to post
Share on other sites

Поэтому ставить на НУЛЛ модули, написанные для чистой Симплы, а потом кричать - НЕ РАБОТАЕТ!!! 

Это глупо. Если есть какой-то опыт программирования - ищите отличия, если нет - ставте ЧИСТУЮ Симплу и убедитесь, что все ОК.

Хотя про Новую Почту - не уверен :)

Сам потратил неделю, чтобы нормально заточить работу с НП. Но это уже проблемы не Симплы...

Я офигел, когда увидел, что ответ сервера НП для Харькова или Киева имеет одну структуру, а для Ровно или Николаева - другую :)

Link to post
Share on other sites
  • 2 months later...

Приветствую всех добрых людей)

ребят пытаюсь реализовать даный модуль но что то не получается

1. для тех у кого нулл то в место require_once('Simpla.php');

 

 class NP extends Simpla{ писать так

require_once('Newcms.php');
 

 class NP extends Newcms{

и клас не забудьте прописать (дело в точ что автор пишет создайте файл np.php а клас обозвал 'NP'    =>  'novaposhta'  а необходимо писать так 'NP'    =>  'np'

 

теперь перейдем к моим бедам (

1 я ошибка такого рода (

PHP Notice:  Undefined property: stdClass::$delivery_number in /home/ya/public_html/ya/view/OrderView.php on line 116

 

2 я ошибка такого рода

PHP Warning:  simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /home/ya/public_html/ya/api/np.php on line 186

 

вот код по первой ошибке

// Получим статус посылки по номеру ТТН от Новой почты
        
        $this->design->assign('tracking', $this->NP->tracking($order->delivery_number));
 
вот код по второй
 
 
    public function tracking($ttn){
    $ttn = '20450005836914';
    $xml='
    <?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <file>
    <auth>'.$this->api_key.'</auth>
    <tracking>
       <barcode>'.$ttn.'</barcode>
    </tracking>
    </file>';
    $xml = simplexml_load_string($this->send($xml));
    //var_dump($xml);
    return($xml);
    
    }
    
        
 }
 
186 строка здесь $xml = simplexml_load_string($this->send($xml));
 
что я делаю не так? модуль не работает, версия php 5.6 может от этого прошу помочь знающих спасибо!
Link to post
Share on other sites

если я правильно понимаю по первой ошибке 

она от того происходит что мы добавили в базу данных новое поле delivery_number но не запросили данные из нее и когда обращыемся к функции tracking в файле np.php мы передаем пустое поле от того и лезит данная ошибка 

или может от того что в файле OrderView.php не понят что это за переменная так ккак она не где не определена?

 

где я прав и как это все исправить?

Link to post
Share on other sites

Я так и не понял как сделать автозаполнение поля Адрес при оформлении заказа из БД новой почты?

в каком смысле что бы из бд брало или что обы из апи новой почты?

Link to post
Share on other sites

а какой модуль используешь? напиши весть код апи что исползуем и как в шаблоне прописываешь

api я сейчас вообще не использую, только хочу сделать автозаполнение с помощью апи, которое в этой теме

Link to post
Share on other sites
  • 1 month later...

 

Итак пишу, как сделал у себя:

Принцип такой: В поле таблицы заказов добавил поле с номером ТТН(это номер руками вбивает администратор после отправки груза), и в шаблоне статуса заказа админской части, и в шаблоне статуса заказа для пользователя выводится статус посылки по этому ТТН, полученный по API Новой Почты.

 

В папке api/ создаем файл NP.php c содержимым:

<?php
  
require_once('Simpla.php');

 class NP extends Simpla{
 	/* Город отправителя */
	 public  $out_city='Киев';
 	/* Отправитель */	 
	 public  $out_company='ПП Петров';
 	/* Склад */	 
	 public  $out_warehouse='1';	 
 	/* Представитель отправителя */	 
	 public  $out_name='Петров Иван Иваныч';	 
 	/* Телефон отправителя */	 
	 public  $out_phone='0671234567';	 
 	/* API ключ */	 
	 public  $api_key='0166186b16d0e49771a0aebf25ac4770';	 
 	/* Описание посылки */	 
	 public  $description='Взуття';
 	/* Описание упаковки */	 
	 public  $pack='Коробка';	 
	 	 
	 /**
	  * Функция отправки запроса на сервер Новой почты
	  	$xml — запрос
	  */
	  public function send($xml){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, 'http://orders.novaposhta.ua/xml.php');
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
		$response = curl_exec($ch);
		curl_close($ch);
		return $response;
	 }
	 
	 /**
	  * Запрос на расчёт стоимости доставки 
	  	$to_city — город получатель
	  	$weight — вес
	  	$pub_price — заявленная стоимость
	  	$height — высота коробки	  		  		  	
	  	$width — ширина коробки	  		  		  	
	  	$depth — длинна коробки	  		  		  		  	
	  */
	 public  function price($to_city,$weight,$pub_price,$date,$height=0,$width=0,$depth=0){
		$xml='<?xml version="1.0" encoding="utf-8"?>
		<file>
		<auth>'.NP::$api_key.'</auth>
		<countPrice>
        	<senderCity>'.NP::$out_city.'</senderCity>
        	<recipientCity>'.$to_city.'</recipientCity>
        	<mass>'.$weight.'</mass>
        	<height>'.$depth.'</height>
        	<width>'.$width.'</width>
        	<depth>'.$depth.'</depth>
        	<publicPrice>'.$pub_price.'</publicPrice>
        	<deliveryType_id>4</deliveryType_id>
        	<floor_count>0</floor_count>
        	<date>'.$date.'</date>
        	</countPrice>
        </file>';
		
		$xml = simplexml_load_string(NP::send($xml));
		return $xml->cost;
	} 	
	 /**
	  * Запрос на создание декларации на отправку 
	  	$order_id — номер заказа на вашем сайте (для вашего удобства)
	  	$city — город получения
	  	$warehouse — номер склада получения
	  	$name — имя получателя	  		  		  	
	  	$surname — фамилия получателя	  		  		  	
	  	$phone — телефон получателя	  		  		  		  	
	  	$weight — вес посылки	  		  		  	
	  	$pub_price — заявленная стоимость	  		  		  	
	  	$date — дата отправки
	  	$payer — плательщик (1 — получатель, 0 — отправитель, 2 — третья сторона)	  	
	  */
	 public  function ttn($order_id,$city,$warehouse,$name,$surname,$phone,$weight,$pub_price,$date,$payer=0){
		$xml='<?xml version="1.0" encoding="utf-8"?>
		<file>
		<auth>'.NP::$api_key.'</auth>
		<order
	        order_id="'.$order_id.'"
	
	        sender_city="'.NP::$out_city.'"
	        sender_company="'.NP::$out_company.'"
	        sender_address="'.NP::$out_warehouse.'"
	        sender_contact="'.NP::$out_name.'"
	        sender_phone="'.NP::$out_phone.'"
	
	        rcpt_city_name="'.$city.'"
	        rcpt_name="ПП '.$surname.'"
	        rcpt_warehouse="'.$warehouse.'"
	        rcpt_contact="'.$name.'"
	        rcpt_phone_num="'.$phone.'"
	        
	        pack_type="'.NP::$pack.'"
	        description="'.NP::$description.'"
	
	        pay_type="1"
	        payer="'.$payer.'"
	
	        cost="'.$pub_price.'"
	        date="'.$date.'" 
	        weight="'.$weight.'">
	        <order_cont
            	cont_description="'.NP::$description.'" />
            </order>
        </file>';
		
		$xml = simplexml_load_string(NP::send($xml));
		return array('oid'=>$order_id,'ttn'=>trim($xml->order->attributes()->np_id));
	} 
	
	 /**
	  * Запрос на удаление декларации из базы Новой почты
	  	$ttn — номер декларации, которую нужно удалить
	  */
	public  function remove($ttn){
		$xml='<?xml version="1.0" encoding="utf-8"?>
		<file>
		<auth>'.NP::$api_key.'</auth>
		<close>'.$ttn.'</close>
		</file>';
		
		$xml = simplexml_load_string(NP::send($xml));
	}
	 /**
	  * Запрос на печать маркировок для декларации (производит перенаправление на страницу печати)
	  	$ttn — номер декларации, которую нужно напечатать
	  */	
	public  function printit($ttn){
		header('location: http://orders.novaposhta.ua/pformn.php?o='.$ttn.'&num_copy=4&token='.NP::$api_key);
	}
	
	
	 /**
	  * Запрос на получение списка складов Новой почты для определённого города (или полный список, если город не указан)
	  	$filter — город, по которому нужно отфильтровать список складов Новой почты
	  */
	public  function warenhouse($filter=false){
		$xml='<?xml version="1.0" encoding="utf-8"?>
		<file>
		<auth>'.NP::$api_key.'</auth>
		<warenhouse/>';
		if($filter){
			$xml.='<filter>'.$filter.'</filter>';
		}
		$xml.='</file>';
		
		$xml = simplexml_load_string(NP::send($xml));
		return($xml);
	}
	
	
	 /**
	  * Запрос на получение списка населённых пунктов, в которых есть склады Новой почты
	  */	
	public function city(){
		$xml='<?xml version="1.0" encoding="utf-8"?>
		<file>
		<auth>'.NP::$api_key.'</auth>
		<city/>
		</file>';
		
		$xml = simplexml_load_string(NP::send($xml));
		return($xml);
	}
	
	public function tracking($ttn){
	$xml='
	<?xml version="1.0" encoding="UTF-8"?>
	<file>
    <auth>'.$this->api_key.'</auth>
    <tracking>
       <barcode>'.$ttn.'</barcode>
    </tracking>
	</file>';
	$xml = simplexml_load_string($this->send($xml));
	//var_dump($xml);
	return($xml);
	
	}
	
		 
 }

Далее в таблицу s_orders, добавим поле:

Теперь в файле simpla/OrderAdmin.php
после кода:
$order->comment = $this->request->post('comment');

Добавим:

$order->delivery_number  = $this->request->post('delivery_number');

 

перед кодом:
$this->design->assign('purchases', $purchases);
        $this->design->assign('purchases_count', $purchases_count);
        $this->design->assign('subtotal', $subtotal);
        $this->design->assign('order', $order);

Добавляем:

//Статус по номеру ТТН из новой почты
		if ($order->delivery_number)
		{
		$this->design->assign('tracking', $this->np->tracking($order->delivery_number));
		}

В шаблоне: simpla/design/html/order.tpl

после:

		<li>
			<label class=property>Адрес <a href='http://maps.yandex.ru/' id=address_link target=_blank><img align=absmiddle src='design/images/map.png' alt='Карта в новом окне' title='Карта в новом окне'></a></label>
			<div class="edit_order_detail" style='display:none;'>
				<textarea name="address">{$order->address|escape}</textarea>
			</div>
			<div class="view_order_detail">
				{$order->address|escape}
			</div>
		</li> 

Добавляем:

<li>
			<label class=property>Номер посылки</label>
			<div class="edit_order_detail" style='display:none;'>
				<input name=" delivery_number" class="simpla_inp " type="text" value="{$order-> delivery_number|escape}" />
			</div>
			<div class="view_order_detail">
				{$order-> delivery_number|escape}
			</div>
		</li>
		
				<li>
			<label class=property>Статус посылки</label>
			<div class="view_order_detail">
				<b>{$tracking->document["status"]}</b>
			</div>
		</li> 

 

 

Далее, в файле view\OrderView.php:

После кода:

// Все валюты
		$this->design->assign('all_currencies', $this->money->get_currencies());

Добавим:

// Получим статус посылки по номеру ТТН от Новой почты
        
 $this->design->assign('tracking', $this->np->tracking($order->delivery_number));

И наконец в шаблоне пользователя design/вашшаблон/order.tpl

после:

{if $order->name}
	<tr>
		<td>
			Имя
		</td>
		<td>
			{$order->name|escape}
		</td>
	</tr>
	{/if}

Добавляем инфу о номере и статусе посылки:

{if $order->delivery_number}
	<tr>
		<td>
			Номер посылки
		</td>
		<td>
			{$order->delivery_number|escape}
			<br />
			Статус в Новой Почте: <br />
			<b>{$tracking->document["status"]}</b>
		
		</td>
	</tr>
	{/if}

Вроде бы все.

Если что забыл пишите.

Голову сломал не работает

Link to post
Share on other sites
  • 3 months later...
  • 1 year later...
  • 1 year later...

При выборе варианта доставки Новая почта, пользователю предлагается
выбрать город и подходящий склад для доставки на него товаров. Эта информация
передается при оформлении заказа в поле «Адрес доставки».

 

 

создаем в ajax/np.php

<?php

session_start();
chdir('..');
require_once('api/Simpla.php');
$simpla = new Simpla();

$xml = "<?xml version='1.0' encoding='utf-8'?>

        <file>

        <auth>".$simpla->settings->newpost_key."</auth>

        <city/>

        </file>

";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://orders.novaposhta.ua/xml.php');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

$response = curl_exec($ch);

curl_close($ch);



$resp = new SimpleXMLElement($response);





print "<option></option>";

foreach ($resp as $res) {

    foreach ($res as $cities) {

        foreach ($cities as $city) {

            print "<option>".

            $city->nameRu.

            "</option>";

        }

    }

}    





?>

    

ajax/npware.php

<?php

session_start();

chdir('..');

require_once('api/Simpla.php');

$simpla = new Simpla();

$city = $simpla->request->get('city', 'str');

$xml = "<?xml version='1.0' encoding='utf-8'?>

        <file>

        <auth>".$simpla->settings->newpost_key."</auth>

        <warenhouse/>

        <filter>".$city."</filter>

        </file>

";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://orders.novaposhta.ua/xml.php');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

$response = curl_exec($ch);

curl_close($ch);



$resp = new SimpleXMLElement($response);

 

print "<option></option>";

foreach ($resp as $res) {

    foreach ($res as $wares) {

        foreach ($wares as $ware) {

            print "<option>".

            $ware->addressRu.

            "</option>";

        }

    }

}



?>

    

в simpla/SettingsAdmin после 

 		if($this->request->method('POST'))
		{

 

 

добавить

$this->settings->newpost_key = $this->request->post('newpost_key');

в simpla/design/html/settings.tpl добавляем

        <div class="block layer">
			<h2>Новая Почта</h2>
			<ul>
				<li><label class=property>Ключ API доставки «Новая Почта»</label><input name="newpost_key" class="simpla_inp" type="text" value="{$settings->newpost_key|escape}" /></li>
			</ul>
		</div>

 

в шаблон cart.tpl

{* Шаблон корзины *}

{$meta_title = "Корзина" scope=parent}
<!--Новая почта-->
<script src="http://cdnjs.cloudflare.com/ajax/libs/chosen/1.0/chosen.jquery.js"></script>
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/chosen/1.0/chosen.min.css">
<!--Новая почта-->
<h1>
{if $cart->purchases}В корзине {$cart->total_products} {$cart->total_products|plural:'товар':'товаров':'товара'}
{else}Корзина пуста{/if}
</h1>

{if $cart->purchases}
<form method="post" name="cart">

{* Список покупок *}
<table id="purchases">

{foreach from=$cart->purchases item=purchase}
<tr>
	{* Изображение товара *}
	<td class="image">
		{$image = $purchase->product->images|first}
		{if $image}
		<a href="products/{$purchase->product->url}"><img src="{$image->filename|resize:50:50}" alt="{$product->name|escape}"></a>
		{/if}
	</td>
	
	{* Название товара *}
	<td class="name">
		<a href="products/{$purchase->product->url}">{$purchase->product->name|escape}</a>
		{$purchase->variant->name|escape}			
	</td>

	{* Цена за единицу *}
	<td class="price">
		{($purchase->variant->price)|convert} {$currency->sign}
	</td>

	{* Количество *}
	<td class="amount">
		<select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();">
			{section name=amounts start=1 loop=$purchase->variant->stock+1 step=1}
			<option value="{$smarty.section.amounts.index}" {if $purchase->amount==$smarty.section.amounts.index}selected{/if}>{$smarty.section.amounts.index} {$settings->units}</option>
			{/section}
		</select>
	</td>

	{* Цена *}
	<td class="price">
		{($purchase->variant->price*$purchase->amount)|convert} {$currency->sign}
	</td>
	
	{* Удалить из корзины *}
	<td class="remove">
		<a href="cart/remove/{$purchase->variant->id}">
		<img src="design/{$settings->theme}/images/delete.png" title="Удалить из корзины" alt="Удалить из корзины">
		</a>
	</td>
			
</tr>
{/foreach}
{if $user->discount}
<tr>
	<th class="image"></th>
	<th class="name">скидка</th>
	<th class="price"></th>
	<th class="amount"></th>
	<th class="price">
		{$user->discount} %
	</th>
	<th class="remove"></th>
</tr>
{/if}
{if $coupon_request}
<tr class="coupon">
	<th class="image"></th>
	<th class="name" colspan="3">Код купона или подарочного ваучера
		{if $coupon_error}
		<div class="message_error">
			{if $coupon_error == 'invalid'}Купон недействителен{/if}
		</div>
		{/if}
	
		<div>
		<input type="text" name="coupon_code" value="{$cart->coupon->code|escape}" class="coupon_code">
		</div>
		{if $cart->coupon->min_order_price>0}(купон {$cart->coupon->code|escape} действует для заказов от {$cart->coupon->min_order_price|convert} {$currency->sign}){/if}
		<div>
		<input type="button" name="apply_coupon"  value="Применить купон" onclick="document.cart.submit();">
		</div>
	</th>
	<th class="price">
		{if $cart->coupon_discount>0}
		−{$cart->coupon_discount|convert} {$currency->sign}
		{/if}
	</th>
	<th class="remove"></th>
</tr>

{literal}
<script>
$("input[name='coupon_code']").keypress(function(event){
	if(event.keyCode == 13){
		$("input[name='name']").attr('data-format', '');
		$("input[name='email']").attr('data-format', '');
		document.cart.submit();
	}
});
</script>
{/literal}

{/if}

<tr>
	<th class="image"></th>
	<th class="name"></th>
	<th class="price" colspan="4">
		Итого
		{$cart->total_price|convert} {$currency->sign}
	</th>
</tr>
</table>

{* Связанные товары *}
{*
{if $related_products}
<h2>Так же советуем посмотреть</h2>
<!-- Список каталога товаров-->
<ul class="tiny_products">
	{foreach $related_products as $product}
	<!-- Товар-->
	<li class="product">
		
		<!-- Фото товара -->
		{if $product->image}
		<div class="image">
			<a href="products/{$product->url}"><img src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}"/></a>
		</div>
		{/if}
		<!-- Фото товара (The End) -->

		<!-- Название товара -->
		<h3><a data-product="{$product->id}" href="products/{$product->url}">{$product->name|escape}</a></h3>
		<!-- Название товара (The End) -->

		{if $product->variants|count > 0}
		<!-- Выбор варианта товара -->
			<table>
			{foreach $product->variants as $v}
			<tr class="variant">
				<td>
					{if $v->name}<label class="variant_name" for="related_{$v->id}">{$v->name}</label>{/if}
				</td>
				<td>
					{if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if}
					<span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span>
				</td>
				<td>
					<a href="cart?variant={$v->id}">в корзину</a>
				</td>
			</tr>
			{/foreach}
			</table>
		<!-- Выбор варианта товара (The End) -->
		{else}
			Нет в наличии
		{/if}


	</li>
	<!-- Товар (The End)-->
	{/foreach}
</ul>
{/if}
*}

{* Доставка *}
{if $deliveries}
<h2>Выберите способ доставки:</h2>
<ul id="deliveries">
	{foreach $deliveries as $delivery}
	<li>
		<div class="checkbox">
			<input type="radio" name="delivery_id" value="{$delivery->id}" {if $delivery_id==$delivery->id}checked{elseif $delivery@first}checked{/if} id="deliveries_{$delivery->id}">
		</div>
		
			<h3>
			<label for="deliveries_{$delivery->id}">
			{$delivery->name}
			{if $cart->total_price < $delivery->free_from && $delivery->price>0}
				({$delivery->price|convert} {$currency->sign})
			{elseif $cart->total_price >= $delivery->free_from}
				(бесплатно)
			{/if}
			</label>
			</h3>
            <!--Новая Почта-->
            {if stristr($delivery->name,"Новая Почта")||stristr($delivery->name,"Нова Пошта")}
                <div class="seldiv" id="delivery_new_post" style="margin-left:5px; display:none">
                    <label style=""><span class="labelcity">Город: </span></label>
                    <select data-placeholder="Выберете город" style="width:350px;" tabindex="1"class="npcity">
                    </select>
                    <p style="padding-bottom: 10px;"></p>
                    <label style="display:inline"><span class="labelware" style="display:none">Отделение: </span></label>
                    <select data-placeholder="Выберете отделение" class="npware" style="display:none!important">
                    </select>
                </div>
            {/if}
            <!--Новая Почта-->
			<div class="description">
			{$delivery->description}
			</div>
	</li>
	{/foreach}
</ul>
{/if}
    
<h2>Адрес получателя</h2>
	
<div class="form cart_form">         
	{if $error}
	<div class="message_error">
		{if $error == 'empty_name'}Введите имя{/if}
		{if $error == 'empty_email'}Введите email{/if}
		{if $error == 'captcha'}Капча введена неверно{/if}
	</div>
	{/if}
	<label>Имя, фамилия</label>
	<input name="name" type="text" value="{$name|escape}" data-format=".+" data-notice="Введите имя"/>
	
	<label>Email</label>
	<input name="email" type="text" value="{$email|escape}" data-format="email" data-notice="Введите email" />

	<label>Телефон</label>
	<input name="phone" type="text" value="{$phone|escape}" />
	
	<label>Адрес доставки</label>
    <!--Новая Почта-->
	<!--<input name="address" type="text" value="{$address|escape}"/>-->
    <input name="address" id="adrchoise" type="text" value="{$address|escape}"/>
    <!--Новая Почта-->

	<label>Комментарий к заказу</label>
	<textarea name="comment" id="order_comment">{$comment|escape}</textarea>
	
	<div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}" alt='captcha'/></div> 
	<input class="input_captcha" id="comment_captcha" type="text" name="captcha_code" value="" data-format="\d\d\d\d" data-notice="Введите капчу"/>
	
	<input type="submit" name="checkout" class="button" value="Оформить заказ">
	</div>
   
</form>
{else}
  В корзине нет товаров
{/if}
<!--Новая почта-->
{literal}
    <script>
        $(document).ready(function() {
            var its = $("input[name=delivery_id]");
            var line = its.parent().parent().find(".seldiv");
            
            var seldiv = its.parent().parent().find(".seldiv .npcity");
            var cname = its.parent().parent().find(".seldiv .labelcity");
           // ssil.hide();
            $.ajax({
              url: "ajax/np.php",
              success: function(data) {
                seldiv.html(data);
                seldiv.show();
                cname.parent().show();
                //line.show();
              }
            });
        });

        $("select.npcity").change(function() {
          var selt = $(this);
          var selware = $(this).parent().find(".npware");
          var wname = $(this).parent().find(".labelware");
          if(selt.val() == '')
          {
                wname.hide();
                selware.hide();
                selware.html("");
                $("#adrchoise").val("");
          }
          else
            $.ajax({
              url: "ajax/npware.php",
              data: {city: selt.val()},
              success: function(data) {
                selware.html(data);
                wname.show();
                selware.show();
              }
            });
        });
        
        $("select.npware").change(function() {
          var seldiv = $(this).parent().find(".npcity");
          var citytogo = seldiv.val();
          var adrtogo = $(this).val();
          $("#adrchoise").val(citytogo + ', ' + adrtogo);
        });
        setInterval(function() { 
        if ($('.npcity').children('option').length>1) {
        $('.npcity').chosen({width: "25%",no_results_text: "Вашего города нет в списке"

            });
        };
        }, 100);
        
        $('input[name=delivery_id]').change(function(){
            if($(this).parent().parent().find("#delivery_new_post").length > 0)
                $(".seldiv").show();
            else
                $(".seldiv").hide();
        });
    </script>
{/literal}
<!--Новая почта-->

Друзья, почему не работает?((

ставил на чистую симплу

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...