";
$j = 1;
}
if (mb_substr($s[$i],0,1)) {
$s[$i] = mb_substr($s[$i],1);
}
if ($j == 1) {$prodItem["id"] = $s[$i];}
if ($j == 2) {$prodItem["cml2"] = $s[$i];}
if ($j == 3) {$prodItem["name"] = $s[$i];}
if ($j == 7) {$prodItem["price"] = $s[$i];}
if ($j == 8) {$prodItem["image"] = $s[$i];}
if ($j == 13) {$prodItem["categoryId"] = $s[$i];$prodItems[]=$prodItem;$prodItem=array();}
}
foreach ($prodItems as $item) {
$i++;
$name = $item["name"];
$pictures = $item["image"];
$nameStart = $name;
$cml2 = trim($item["cml2"] . "");
$price = trim($item["price"] . "");
$categoryId = $item["categoryId"] * 1;
/* $i++;
$name = $item->name;
$pictures = $item->picture;
$nameStart = $name;
$cml2 = (array)($item->vendorCode);
if (isset($cml2[0]) and $cml2[0]) {
$cml2 = trim($cml2[0] . "");
} else {
$cml2 = "";
}
$price = $item->price;
if (isset($price[0]) and $price[0]) {
$price = trim($price[0] . "");
} else {
$price = "";
}
$categoryId = (array)($item->categoryId);
if (isset($categoryId[0]) and $categoryId[0]) {
$categoryId = $categoryId[0] * 1;
} else {
$categoryId = false;
}
*/
$bitrixSectionId = false;
if ($categoryId and isset($categoriesAr[$categoryId]["bitrixSectionId"]) and $categoriesAr[$categoryId]["bitrixSectionId"]) {
$bitrixSectionId = $categoriesAr[$categoryId]["bitrixSectionId"];
}
$ARpictures = array();
foreach ((array)($pictures) as $src) {
$ARpictures[] = $src;
}
$maxReplaceLen = false;
$stringToReplace = false;
foreach ($tpArNames as $tpArNames2) {
foreach ($tpArNames2["replaces"] as $oneTPname) {
$maxReplaceLenTmp = strlen($oneTPname);
if (($maxReplaceLen === false) or ($maxReplaceLenTmp > $maxReplaceLen)) {
if (strpos($name,$oneTPname) !== false) {
$maxReplaceLen = $maxReplaceLenTmp;
$stringToReplace = $oneTPname;
}
}
}
}
if ($stringToReplace !== false) {
$name = str_replace(" $stringToReplace","",$name);
}
$tpName = "";
if ($nameStart != $name) {
$tpName = str_replace($name,"",$nameStart);
}
$name = str_replace(" —","",$name);
$tpName = trim($tpName);
// echo "$i)" . $name;
if ($tpName = getTPName($tpName)) {
// echo " $tpName ";
}
if (($key = prodInArray($name)) === false) {
$TPnewAr = array();
if ($tpName !== false) {
$TPnewAr[] = array("name"=>$tpName,"CML2"=>$cml2,"price"=>$price);
}
$prodAr[] = array("name"=>$name,"TP"=>$TPnewAr,"pictures"=>$ARpictures,"CML2"=>$cml2,"price"=>$price,"bitrixSectionId"=>$bitrixSectionId);
} else {
if (($tpName !== false) and (TPInArray($tpName,$key) === false)) {
$cmlProdOld = $prodAr[$key]["CML2"];
$cmlProd = commonPartOfTwoLines($cmlProdOld,$cml2,"");
if ($cmlProdOld != $cmlProd) {
$prodAr[$key]["CML2"] = $cmlProd;
}
if ((($prodAr[$key]["price"] == "") and ($price)) or ($price and $prodAr[$key]["price"] and ($price<$prodAr[$key]["price"]))) {
$price<$prodAr[$key]["price"] = $price;
}
$prodAr[$key]["TP"][] = array("name"=>$tpName,"CML2"=>$cml2,"price"=>$price);
}
}
if ($tpName === false) {echo " [$nameStart]";}
// echo "
\n";
}
//var_dump($prodAr);
//exit;
$prodJSONString = json_encode($prodAr);
$fp = fopen("jsonprod.txt","w");
fwrite($fp,$prodJSONString);
fclose($fp);
exit;
// [НАЧАЛО] Функция получения кода свойства типа список(Enum) по его названию а так же Ид инфоблока и коду(имени) свойства
function myGetPropEnumId($name=false,$IBlockId=false,$code=false) {
if ($name and $IBlockId and $code) {
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>$IBlockId, "CODE"=>$code));
while($enum_fields = $property_enums->GetNext()) {
if ($name == $enum_fields["VALUE"]) {
return $enum_fields["ID"];
}
}
$ibpenum = new CIBlockPropertyEnum;
// !!! ВАЖНО В СЛЕДУЮЩЕЙ СТРОЧКЕ УКАЗЫВАЕТСЯ ID СВОЙСТВА РАЗМЕР ИНФОБЛОКА ТОРГОВЫХ ПРЕДЛОЖЕНИЙ А НЕ СИМВОЛЬНЫЙ КОД
if ($PropID = $ibpenum->Add(Array("IBLOCK_ID"=>$IBlockId,"PROPERTY_ID"=>"11","VALUE"=>$name))) {
return $PropID;
}
}
return false;
}
// [КОНЕЦ] Функция получения кода свойства типа список(Enum) по его названию а так же Ид инфоблока и коду(имени) свойства
$arParams = array(
"max_len" => "60", // обрезаем символьный код до 60 символов
"change_case" => "L", // приводим к нижнему регистру
"replace_space" => "-", // меняем пробелы на тире
"replace_other" => "", // меняем плохие символы на ничто
"delete_repeat_replace" => "true", // удаляем повторяющиеся тире
"use_google" => "false", // отключаем использование google
);
$el = new CIBlockElement;
$i = 0;
foreach ($prodAr as $prod) {
$i++;
if ($i > 75) {exit;}
$photoIBadd = array();
$previewPicture = "";
foreach ($prod["pictures"] as $picture) {
$photoIBadd[] = CFile::MakeFileArray($picture);
echo "\t" . $picture;
}
if (count($photoIBadd)) {
$previewPicture = $photoIBadd[0];
}
echo "\n";
$bitrixSectionId = false;
if (isset($prod["bitrixSectionId"]) and $prod["bitrixSectionId"]) {
$bitrixSectionId = $prod["bitrixSectionId"];
}
$code = Cutil::translit($prod["name"], "ru", $arParams);// Символьный код товара
$arLoadProductArray = Array(
"MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем
"IBLOCK_SECTION_ID" => $bitrixSectionId, // элемент лежит в корне раздела - установить false
"IBLOCK_ID" => 1,
"NAME" => $prod["name"],
"ACTIVE" => "Y", // активен
// "PREVIEW_TEXT" => "текст для списка элементов",
// "DETAIL_TEXT" => "текст для детального просмотра",
// "CATALOG_PRICE_1" => $prod["price"],
"CODE" => $code,
Вы так же можете прочитать следующие статьи :
В некоторых статьях на сайте я уже упоминал что не мало посудился с правоохранительной системой, однажды врач психотерапевт пригласил меня на диалог и посчитал что я чрезмерно много обращаюсь в правоохранительные органы с тех пор я не продлевал водительское удостоверение. Ситуация всё ещё не разрешилась, а такое большое количество обращений в правоохранительные органы последовало поскольку последние занимались отписками. В YouTube видео сейчас выходит в ТОП-3 расчитывал вывести его на первую строчку в июне 2024 года, пока этого сделать не получилось. А ещё есть информация про Софт Навигатор
Ещё несколькими месяцами ранее я стал задумываться что уже пора бы набрать попоулярность моему видео в котором я рассказываю как Жорик Ревазов , в настоящее время уже не известный, поменял тематику своего канала. Для реализации задаи по раскрутке указанного контента я несколько месяцев применял некоторые технологии и сейчас пока что результат меня не устроил, в том числе по этой причине я сейчас написал этот текст. Так же могу добавить что одной из причин по который Жорик Ревазов пеерстал быть популярным - это предвзятое отношение к пользователям в чём я лично убедился на одном из его стримов, после чего перестал его смотреть и исходя из снижения популярности видимо аналрогичным образом поступили и другие его зрители.
Ранее я уже писал статьи на тему продвижения контента в поисковых системах и видео-хостингах, например на таком как YouTube и вот появилась ещё статья на эту тему опубликованная в социальной сети ВКонаткте, которая называется: Программа для продвижения канала YouTube В этой статье я рассказываю о успешном опыте продвижения видео про разработку расширений для браузера в TOP YouTube и поисковых систем Яндекс и Google, а так же о роли в данном процессе программы которую я ранее разработал и продолжаю совершенствовать. Следующая история о том как люди которые искали заработок в интернет или которые случайно нашли упоминание с информацией о заработке, который по факту таковым не являлся, а являлся не добросовестным ресурсом, потеряли или могли потерять свои деньги. В YouTube есть достаточно популярный канал, а ещё он есть по другой ссылке - Danatar . Вернее В YouTube есть несколько каналов данного автора, Вы можете перейти по ссылке и посмотреть какие классные видео снимает Danatar.
Автор блога Евгений Николаев город Иваново