_wpsc_product_metadata and _wp_attachment_metadata values generating
-
Hi all
I’m working on importing products to wp ecomerce 3.8.9.1 from lines of text file. (now i work with database updating without file import)
How can I correctly generate values for keys:- _wpsc_product_metadata
- _wp_attachment_metadata
Can i generate this keys in my script without wordpress?
for example my script…<?php // Интеграция склада 1С с интернет магазином function trans($str) { $converter = array('а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'e', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ь' => '\'', 'ы' => 'y', 'ъ' => '\'','э' => 'e', 'ю' => 'yu', 'я' => 'ya', 'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z', 'И' => 'I', 'Й' => 'Y', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch', 'Ь' => '\'', 'Ы' => 'Y', 'Ъ' => '\'', 'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',); return strtr($str, $converter); } function strurl($str) { $str = trans($str); $str = strtolower($str); $str = preg_replace('~[^-a-z0-9_]+~u', '-', $str); $str = trim($str, "-"); return $str; } function my($query){ $my = mysql_connect("localhost", "root", "") or die("Нет MySQL."); $my = mysql_select_db("krilony", $my) or die("Нет базы."); $query = mysql_query($query); unset($my); return $query; } function fx($x){ //возвращает ID в posts x - АРТ (post_excerpt) $query="SELECT MAX(ID) FROM wp_posts"; $max = mysql_result(my($query), 0,0); for($i=$max;$i>0;$i--){ $query = my("SELECT post_excerpt, ID FROM wp_posts WHERE ID=".$i); if(mysql_num_rows($query)>0)$z = mysql_fetch_assoc($query); if($z[post_excerpt]==$x){ return $z[ID]; } } return false; } function fy($x,$y){ //возвращает meta_id в postmeta по ID.. х - post_id y - meta_key $query="SELECT MAX(meta_id) FROM wp_postmeta"; $max = mysql_result(my($query), 0,0); for($i=$max;$i>0;$i--){ $query = my("SELECT meta_id, post_id, meta_key FROM wp_postmeta WHERE meta_id=".$i); if(mysql_num_rows($query)>0){$z = mysql_fetch_assoc($query); if(strcmp($z[post_id], $x) == 0 && strcmp($z[meta_key], $y) == 0 ){ return $z[meta_id]; } } } return false; } // НАЧАЛО $n = date("Y-m-d H:i:s"); $newart[0] = 0; $newkod = 0; //$in = "|00102|ТЕХНОЛОЖКА (Московский, 41)|19262| сертификат подарочный|0||1|5?000|||"; //$in = "|00102|ТЕХНОЛОЖКА (Московский, 41)|17991|бадлон жен.|29|черный, 54|1|500|вискоза 95 %; лайкра 5 %|Бадлон женский, облигающий силуэт. С воротником-стойкой и коротким рукавом. Изготовлен из трикотажного эластичного полотна. Модель произведна по финской технологии, в лучших традициях бренда Mr. JOUKO. |"; //$in = "|00102|ТЕХНОЛОЖКА (Московский, 41)|18782|бюстгальтер|20|черный, 80-B|2|830|Полиамид 80 %; ПУ 20 %|Повседневный классический бюстгальтер из эластичного трикотажного полотна. Чашечки "Анжелика" с эффектом "push-up" на каркасах, дублированные хлопком, с объемными вкладышами. По центру модель оформлена шелковым цветком.|Благодаря своей конструкции бюстгальтер прекрасно поддерживает и приподнимает грудь, визуально придавая пышность форм. Приятен к телу и удобен в ношении благодаря натуральным тканям и регулируемым эластичным лямкам.|"; //$in = "|00114|Смолячкова, 11|03399|бюстгальтер|13|черный, 70-A|1|250|хлопок 100 %||"; $in = "|00109|Нарвский, 27|17991|бадлон жен.|4|сирень тем., 48|1|500|вискоза 95 %; лайкра 5 %|Бадлон женский, облигающий силуэт. С воротником-стойкой и коротким рукавом. Изготовлен из трикотажного эластичного полотна. Модель произведна по финской технологии, в лучших традициях бренда Mr. JOUKO. |"; $mass = explode("|", $in); $mass[0] = strurl($mass[4]).'-'.$mass[3]; $mass[11]= $mass[0].'-'.strurl($mass[6]); // ОБРАБАТЫВАЮ ТОЛЬКО АРТИКЛЬ !!! проверяю есть ли такой артикул в базе, если нету - добавляю t-ID $t=fx($mass[3]); if($t==false){ // ЕСЛИ В БАЗЕ НЕТ ТАКОГО АРТИКЛЯ my("INSERT INTO krilony . wp_posts ( ID , post_author , post_date , post_date_gmt , post_content , post_title , post_excerpt , post_status , comment_status , ping_status , post_password , post_name , to_ping , pinged , post_modified , post_modified_gmt , post_content_filtered , post_parent , guid , menu_order , post_type , post_mime_type , comment_count ) VALUES (NULL, '11', '".$n."', '".$n."', '".$mass[10]."', '".$mass[4]."', '".$mass[3]."', 'publish', 'closed', 'closed', '', '".$mass[0]."', '', '', '".$n."', '".$n."', '', '0', 'https://shop.krilony.ru/catalog/uncategorized/', '0', 'wpsc-product', '', '0');"); $t=fx($mass[3]); //тут можно сначала почистить в postmeta ошибочные вхождения для нового товара (если есть) my("INSERT INTO krilony . wp_postmeta ( meta_id , post_id , meta_key , meta_value ) VALUES (NULL, '".$t."', '_wpsc_price', '".$mass[8]."'), (NULL, '".$t."', 'Состав', '".$mass[9]."'), (NULL, '".$t."', '_wpsc_special_price', '".$mass[8]."'), (NULL, '".$t."', '_wpsc_product_metadata', '".mysql_escape_string('a:15:{s:13:"external_link";s:0:"";s:18:"external_link_text";s:0:"";s:20:"external_link_target";s:0:"";s:14:"merchant_notes";s:0:"";s:8:"engraved";s:1:"0";s:23:"can_have_uploaded_image";s:1:"0";s:15:"enable_comments";s:0:"";s:21:"notify_when_none_left";s:1:"0";s:24:"unpublish_when_none_left";s:1:"0";s:11:"no_shipping";s:1:"0";s:16:"quantity_limited";s:1:"0";s:7:"special";s:1:"0";s:17:"display_weight_as";s:0:"";s:16:"table_rate_price";a:2:{s:11:"table_price";a:0:{}s:8:"quantity";a:0:{}}s:17:"google_prohibited";s:1:"0";}')."'), (NULL, '".$t."', '_wpsc_is_donation', '0'), (NULL, '".$t."', '_rating', ' field_1'), (NULL, '".$t."', '_wpsc_compare_category', '0'), (NULL, '".$t."', '_wpsc_compare_category_name',''), (NULL, '".$t."', '_size', 'field_12'), (NULL, '".$t."', '_Категория', 'field_1'), (NULL, '".$t."', '_brand', 'field_2'), (NULL, '".$t."', '_price', 'field_10')"); } // (NULL, '".$t."', '', ''), вставил postmeta АРТ , далее обновляю товар по АРТ $query = my("SELECT ID, post_content, post_title FROM wp_posts WHERE ID=".$t); if(mysql_num_rows($query)>0) $query = mysql_fetch_assoc($query); if($query[post_content]<> $mass[10] || $query[post_title]<>$mass[4]) $query = my("UPDATE wp_posts SET post_content ='".$mass[10]."', post_title ='".$mass[4]."', post_name ='".$mass[0]."', post_modified ='".$n."', post_modified_gmt ='".$n."' WHERE ID=".$query[ID]); $query = fy($t,"Состав"); if($query>0) my("UPDATE wp_postmeta SET meta_value = '".$mass[9]."' WHERE meta_id=".$query); $query = fy($t,'_wpsc_price'); if($query> 0) my("UPDATE wp_postmeta SET meta_value = '".$mass[8]."' WHERE meta_id=".$query); $query = fy($t,'_wpsc_special_price'); if($query> 0) my("UPDATE wp_postmeta SET meta_value = '".$mass[8]."' WHERE meta_id=".$query); // тут удобно заценить картинки на наличие и добавить в базу // ТЕПЕРЬ ОБРАБАТЫВАЮ ХАРАКТЕРИСТИКИ теперь проверяем есть ли такие модификации товара (размер-цвет) tt-ID $tt=fx($mass[3].$mass[5]); if($tt==false){ // ЕСЛИ В БАЗЕ НЕТ ТАКОЙ МОДИФИКАЦИИ my("INSERT INTO krilony . wp_posts ( ID , post_author , post_date , post_date_gmt , post_content , post_title , post_excerpt , post_status , comment_status , ping_status , post_password , post_name , to_ping , pinged , post_modified , post_modified_gmt , post_content_filtered , post_parent , guid , menu_order , post_type , post_mime_type , comment_count ) VALUES (NULL, '11', '".$n."', '".$n."', '".$mass[10]."', '".$mass[4]."(".$mass[6].")', '".$mass[3].$mass[5]."', 'inherit', 'closed', 'closed', '', '".$mass[11]."', '', '', '".$n."', '".$n."', '', '".$t."', 'https://shop.krilony.ru/catalog/uncategorized/', '0', 'wpsc-product', '', '0');"); $tt=fx($mass[3].$mass[5]); //тут можно сначала почистить в postmeta ошибочные вхождения для новой модификации товара (если есть) my("INSERT INTO krilony . wp_postmeta ( meta_id , post_id , meta_key , meta_value ) VALUES (NULL, '".$tt."', '_wpsc_price', '".$mass[8]."'), (NULL, '".$tt."', 'Состав', '".$mass[9]."'), (NULL, '".$tt."', '_wpsc_stock', '".$mass[7]."'), (NULL, '".$tt."', '_wpsc_special_price', '".$mass[8]."'), (NULL, '".$tt."', '_wpsc_product_metadata', '".mysql_escape_string('a:15:{s:14:"merchant_notes";s:0:"";s:8:"engraved";s:1:"0";s:23:"can_have_uploaded_image";s:1:"0";s:15:"enable_comments";s:0:"";s:13:"external_link";s:0:"";s:18:"external_link_text";s:0:"";s:20:"external_link_target";s:0:"";s:21:"notify_when_none_left";s:1:"0";s:24:"unpublish_when_none_left";s:1:"0";s:11:"no_shipping";s:1:"0";s:16:"quantity_limited";s:1:"0";s:7:"special";s:1:"0";s:17:"display_weight_as";s:0:"";s:16:"table_rate_price";a:2:{s:11:"table_price";a:0:{}s:8:"quantity";a:0:{}}s:17:"google_prohibited";s:1:"0";}')."'), (NULL, '".$tt."', '_wpsc_is_donation', '0'), (NULL, '".$tt."', '_rating', ' field_1'), (NULL, '".$tt."', '_wpsc_compare_category', '0'), (NULL, '".$tt."', '_wpsc_compare_category_name',''), (NULL, '".$tt."', '_size', 'field_12'), (NULL, '".$tt."', '_Категория', 'field_1'), (NULL, '".$tt."', '_brand', 'field_2'), (NULL, '".$tt."', '_price', 'field_10')"); } // (NULL, '".$tt."', '', ''), //вставил модификации , обновляю модификации $query = my("SELECT ID, post_content, post_title FROM wp_posts WHERE ID=".$tt); if(mysql_num_rows($query)>0) $query = mysql_fetch_assoc($query); if($query[post_content]<> $mass[10] || $query[post_title]<>$mass[4]) $query = my("UPDATE wp_posts SET post_content ='".$mass[10]."', post_title ='".$mass[4]."', post_name ='".$mass[11]."', post_modified ='".$n."', post_modified_gmt ='".$n."' WHERE ID=".$query[ID]); $query = fy($tt,"Состав"); if($query>0) my("UPDATE wp_postmeta SET meta_value = '".$mass[9]."' WHERE meta_id=".$query); $query = fy($tt,'_wpsc_price'); if($query> 0) my("UPDATE wp_postmeta SET meta_value = '".$mass[8]."' WHERE meta_id=".$query); $query = fy($tt,'_wpsc_special_price'); if($query> 0) my("UPDATE wp_postmeta SET meta_value = '".$mass[8]."' WHERE meta_id=".$query); $query = fy($tt,'_wpsc_stock'); if($query> 0) my("UPDATE wp_postmeta SET meta_value = '".$mass[7]."' WHERE meta_id=".$query); ?>
Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
- The topic ‘_wpsc_product_metadata and _wp_attachment_metadata values generating’ is closed to new replies.