Перейти к содержанию
Официальный форум поддержки Simpla

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

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

 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

require_once('Simpla.php');

class Blog extends Simpla
{

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

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

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

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

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 может от этого прошу помочь знающих спасибо!
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

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

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

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

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

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

это я не так сказал :) из api

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

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

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

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

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

обращаю к пользователю который для себя писал интеграцию с почтой у тебя работает? допиши пожалуйста кода не хватает! спасибо!

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

 

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

Принцип такой: В поле таблицы заказов добавил поле с номером ТТН(это номер руками вбивает администратор после отправки груза), и в шаблоне статуса заказа админской части, и в шаблоне статуса заказа для пользователя выводится статус посылки по этому ТТН, полученный по 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}

Вроде бы все.

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...

Господа, есть кто сможет установить вывод списка городов и отделения за небольшую плату?

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

я так понимаю у НП новое апи 2.0 и это все уже не актуально ?

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

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

 

 

создаем в 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}
<!--Новая почта-->

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

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

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...