Romalibert Опубликовано 15 апреля, 2013 Жалоба Поделиться Опубликовано 15 апреля, 2013 Итак, мой проект настолько оброс кастромными фишками, что обновить вручную симплу стало в разы проще и быстрее, чем обновить вручную все доработки, если вам это знакомо, то следуем инструкции.Для тех, чьи файлы не затронуло это обновление микроапдейт можете загрузить в конце этого поста!Для обновления с версии 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 при импорте ========================================= microupdate.zip Цитата Ссылка на сообщение Поделиться на другие сайты
iMessi89 Опубликовано 15 апреля, 2013 Жалоба Поделиться Опубликовано 15 апреля, 2013 Стоит нет заморачиваться за обновление? Цитата Ссылка на сообщение Поделиться на другие сайты
Romalibert Опубликовано 15 апреля, 2013 Автор Жалоба Поделиться Опубликовано 15 апреля, 2013 Стоит нет заморачиваться за обновление?Читай ченджлог в конце поста и решай Я обновился, т.к. в будующем легче будет сравнивать и накатывать обновления на сайт Цитата Ссылка на сообщение Поделиться на другие сайты
m-31 Опубликовано 14 мая, 2013 Жалоба Поделиться Опубликовано 14 мая, 2013 Можно по таким способом обновиться с версии 2.1.5 до 2.2.2 ? Цитата Ссылка на сообщение Поделиться на другие сайты
Kartashoff Опубликовано 25 мая, 2013 Жалоба Поделиться Опубликовано 25 мая, 2013 Можно по таким способом обновиться с версии 2.1.5 до 2.2.2 ?Нет, изменения то накатываются постепенно. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.