Перейти к содержимому


Фото
* * * * * 5 votes

Обновление с 2.2.1 до 2.2.2

Обновление Simpla 2.2

  • Please log in to reply
4 replies to this topic

#1 Romalibert

Romalibert
  • Пользователь
  • 82 сообщений
  • Дизайн, Программирование, Заказчик
  • Версия CMS:2.x
  • Откуда:Москва

Posted 15.04.2013 - 11:22

Итак, мой проект настолько оброс кастромными фишками, что обновить вручную симплу стало в разы проще и быстрее, чем обновить вручную все доработки, если вам это знакомо, то следуем инструкции.

Для тех, чьи файлы не затронуло это обновление микроапдейт можете загрузить в конце этого поста!

Для обновления с версии 2.2.1 Обновляем следующие файлы:
В папке api:
Categories.php
Строка 104, 131, 168 после

unset($this->categories_tree); 

Вставить

unset($this->all_categories);

Config.php
Строка 18 заменить

public $version = '2.2.1'; 

На

public $version = '2.2.2';

Строка 48 заменить

$protocol = $_SERVER["SERVER_PORT"] == 'https';

На

$protocol = 'https';      

Image.php
Строка 64 заменить

$watermark = $this->config->watermark_file;

На

$watermark = $this->config->root_dir.$this->config->watermark_file;

Managers.php

Строка 22, 50, 64, 197  Добавить слово public перед function, вот так

public function get_managers()

Строка 59-60 заменить

if(!empty($_SERVER['REMOTE_USER']))
	$login = $_SERVER['REMOTE_USER'];

На

if(!empty($_SERVER['PHP_AUTH_USER']))
	$login = $_SERVER['PHP_AUTH_USER'];

 

Перед 22-ой строкой сверху вставить

	public function __construct()
	{
		// Для совсестимости с режимом CGI
		if (isset($_SERVER['REDIRECT_REMOTE_USER']) && empty($_SERVER['PHP_AUTH_USER']))
		{
		    $_SERVER['PHP_AUTH_USER'] = $_SERVER['REDIRECT_REMOTE_USER'];
		}	
	}

 

Файл Orders.php

Строки 378-383, 385-387 удаляем

Строка 384

$query = $this->db->placehold("INSERT INTO __purchases SET ?%", $purchase);

не трогается.

Строки с 428 по 432

			$purchases = $this->get_purchases(array('order_id'=>$order->id));
			foreach($purchases as $purchase)
			{
				$variant = $this->variants->get_variant($purchase->variant_id);
				if(empty($variant) || ($variant->stock<$purchase->amount))

Заменяем на

			$variants_amounts = array();
			$purchases = $this->get_purchases(array('order_id'=>$order->id));
			foreach($purchases as $purchase)
			{
				if(isset($variants_amounts[$purchase->variant_id]))
					$variants_amounts[$purchase->variant_id] += $purchase->amount;
				else
					$variants_amounts[$purchase->variant_id] = $purchase->amount;
			}

			foreach($variants_amounts as $id=>$amount)
			{
				$variant = $this->variants->get_variant($id);
				if(empty($variant) || ($variant->stock<$amount))

Внимание, тут прошу учесть, что когда вы удаляете какие-либо строки или добавляете, нумерация МЕНЯЕТСЯ! Поэтому сверяйте обязательно код.

 

Папка Payment

Удаляем папку Yandex

 

Папка Simpla/ajax

Файл import.php

Строка 180 меняем

$item['brand'] = trim($item['brand']);

На

$item['brand'] = '';

после строк 181-182

if(!empty($item['brand']))
{

Вставляем

$item['brand'] = trim($item['brand']);

После строки 367

$res = preg_replace("/[\s]+/ui", '-', $res);

Вставляем

$res = preg_replace('/[^\p{L}\p{Nd}\d-]/ui', '', $res);

Папка Simpla/ajax/stat

Файл stat.php

Строку 10 меняем

$query = $this->db->placehold('SELECT SUM( o.total_price ) AS total_price, DAY(date) AS day, MONTH(date) as month, YEAR(date) as year FROM __orders o GROUP BY DATE( o.date ) DESC  LIMIT 30');

На

$query = $this->db->placehold('SELECT SUM( o.total_price ) AS total_price, DAY(date) AS day, MONTH(date) as month, YEAR(date) as year FROM __orders o WHERE o.closed AND date > DATE_SUB(NOW(), INTERVAL 1 MONTH) GROUP BY DATE( o.date ) DESC LIMIT 30');

Папка Simpla/cml

Удаляем 1c_exchange_2.1.4.php, mem.php


Файл 1c_exchange.php

Перед 5-ой строкой

// Название параметра товара, используемого как бренд

Вставляем

// Обновлять все данные при каждой синхронизации
$full_update = true;

Строка 114 меняем

$purchase->price = $xml_product->ЦенаЗаЕдиницу;

На

$purchase->price = floatval($xml_product->ЦенаЗаЕдиницу);

Строка 137 меняем

$simpla->db->query('UPDATE __orders SET total_price=? WHERE id=? LIMIT 1', $xml_order->Сумма, $order->id);

На

$simpla->db->query('UPDATE __orders SET discount=0, total_price=? WHERE id=? LIMIT 1', $xml_order->Сумма, $order->id);

Строки 242-250 меняем

$t1_2 = $t1_1->addChild ( "ЦенаЗаЕдиницу", $purchase->price );
$t1_2 = $t1_1->addChild ( "Количество", $purchase->amount );
$t1_2 = $t1_1->addChild ( "Сумма", $purchase->amount*$purchase->price);
					
$t1_2 = $t1_1->addChild ( "Скидки" );
$t1_3 = $t1_2->addChild ( "Скидка" );
$t1_4 = $t1_3->addChild ( "Сумма", $purchase->price*$order->discount/100);
$t1_4 = $t1_3->addChild ( "УчтеноВСумме", "false" );	

На

$t1_2 = $t1_1->addChild ( "ЦенаЗаЕдиницу", $purchase->price*(100-$order->discount)/100);
$t1_2 = $t1_1->addChild ( "Количество", $purchase->amount );
$t1_2 = $t1_1->addChild ( "Сумма", $purchase->amount*$purchase->price*(100-$order->discount)/100);

/*
$t1_2 = $t1_1->addChild ( "Скидки" );
$t1_3 = $t1_2->addChild ( "Скидка" );
$t1_4 = $t1_3->addChild ( "Сумма", $purchase->amount*$purchase->price*(100-$order->discount)/100);
$t1_4 = $t1_3->addChild ( "УчтеноВСумме", "true" );
*/

Строка 522 после

global $brand_option_name;

Вставляем

global $full_update;

После строк 598-599

$simpla->db->query('SELECT id FROM __variants WHERE product_id=?', $product_id);
$variant_id = $simpla->db->result('id');

Вставляем

		// Обновляем товар
		if($full_update)
		{
			$description = '';
			if(!empty($xml_product->Описание))
				$description = $xml_product->Описание;
			$product_id = $simpla->products->update_product($product_id, array('external_id'=>$product_1c_id, 'url'=>translit($xml_product->Наименование), 'name'=>$xml_product->Наименование, 'meta_title'=>$xml_product->Наименование, 'meta_keywords'=>$xml_product->Наименование, 'meta_description'=>$xml_product->$description,  'annotation'=>$description, 'body'=>$description));
			
			// Обновляем категорию товара
			if(isset($category_id) && !empty($product_id))
			{
   	    		$query = $simpla->db->placehold('DELETE FROM __products_categories WHERE product_id=?', $product_id);
   	    		$simpla->db->query($query);
				$simpla->categories->add_product_category($product_id, $category_id);
			}
			
		}

В папке Simpla/design/html

Файл product.tpl

Строка 71 меняем

$("<input class='upload_image' name=images[] type=file>").appendTo('div#add_image').focus().click();

На

$("<input class='upload_image' name=images[] type=file multiple>").appendTo('div#add_image').focus().click();

Файл stats.tpl

После строки 17

chart: {

Вставляем

zoomType: 'x',
type: 'column',

Строки 58-69 меняем

		for(i=0; i<31; i++)
		{	
 			series.data.push([Date.UTC(1900+d.getYear(), d.getMonth(), d.getDate()), 0]);
			d.setDate(d.getDate()-1);
 		}
	    
	    // Iterate over the lines and add categories or series
	    $.each(data, function(lineNo, line) {

   	                    series.data.push([Date.UTC(line.year, line.month-1, line.day), parseInt(line.y)]);

	  

На

		for(i=0; i<365; i++)
		{	
 			//series.data.push([Date.UTC(1900+d.getYear(), d.getMonth(), d.getDate()), 0]);
			d.setDate(d.getDate()-1);
 		}
	    
	    // Iterate over the lines and add categories or series
	    $.each(data, function(lineNo, line) {
			series.data.push([Date.UTC(line.year, line.month-1, line.day), parseInt(line.y)]);

Файлы simpla/files

Папка imoprt Имеет выгрузку csv из магазина картриджей, я не думаю, что это нужно описывать, Денису предложил бы удалить этот файл.

Папка экспорт имеет выгрузку новую с тестового магазина сотовых телефонов, я думаю сгенирировать новый файл можно через админку.

Папка update

Файл changelog.txt

Вставить

=========================================
Версия 2.2.2 от 14.04.2013
=========================================
Обновление товаров при каждой синхронизации с 1С, в том числе названия, описания и категории.
Исправлена ошибка с отрицательным наличием товаров после добавления к заказу нескольких одинаковых товаров
Исправлена ошибка авторизации в режиме PHP CGI
Транслитерация URL при импорте

=========================================

Attached Files



#2 iMessi89

iMessi89
  • Пользователь
  • 249 сообщений
  • Откуда:Екатеринбург

Posted 15.04.2013 - 11:48

Стоит нет заморачиваться за обновление?



#3 Romalibert

Romalibert
  • Пользователь
  • 82 сообщений
  • Дизайн, Программирование, Заказчик
  • Версия CMS:2.x
  • Откуда:Москва

Posted 15.04.2013 - 12:32

Стоит нет заморачиваться за обновление?

Читай ченджлог в конце поста и решай:) Я обновился, т.к. в будующем легче будет сравнивать и накатывать обновления на сайт



#4 m-31

m-31
  • Пользователь
  • 74 сообщений
  • Дизайн
  • Версия CMS:2.x

Posted 15.05.2013 - 00:34

Можно по таким способом обновиться с версии 2.1.5 до 2.2.2 ?



#5 Kartashoff

Kartashoff
  • Пользователь
  • 5 сообщений

Posted 25.05.2013 - 03:02

Можно по таким способом обновиться с версии 2.1.5 до 2.2.2 ?

Нет, изменения то накатываются постепенно.






0 user(s) are reading this topic

0 пользователей, 0 гостей, 0 скрытых