function testAgent()
{
if(CModule::IncludeModule("iblock")){
$el = new CIBlockElement;
$IBLOCK_ID_CATALOG = 53;
$arLoadProductArray = Array(
"IBLOCK_ID" => $IBLOCK_ID_CATALOG,
"NAME" => "тест1",
"ACTIVE" => "Y",
"PREVIEW_TEXT" => "Позиция успешно добавлена",
);
if($newElement = $el->Add($arLoadProductArray));
}
}
function AddIBElementByAgent()
{
AddEventHandler("main", "OnProlog", "testAgent");
return "AddIBElementByAgent()";
}
$css = array();
$main = "Платье
Размер единый 42-48
Материал лапша
Цена 350 руб";
echo '<pre>';
var_dump($main);
echo '</pre>';
$fullname = preg_replace ("/[^a-zA-ZА-Яа-я0-9\s]/iu","",$main );
echo '<pre>';
var_dump($fullname);
echo '</pre>';
preg_match_all('/^.[а-яА-я]+/', $fullname, $css);
$preg_name = $css;
echo '<pre>';
var_dump($css);
echo '</pre>';
//[НАЧАЛО]Функция получения кода свойства типа список(Enum) по его названию а так же Ид инфоблока и коду(имени) свойства
function myGetPropEnumId($name=false,$IBlockId=false,$code=false) {
if ($name and $IBlockId and $code) {
$name = $name . "";//Поле может прийти как int что может привести к неверному срабатыванию условия ниже, поэтому приводим к string
//В следующей строчке в качестве фильтра нельзя передать ~VALUE, если его передать всё равно выберутся все записи из фильтра без учёта ~VALUE. Требуется сравнение именно с ~VALUE, а не просто VALUE, поскольку просто VALUE будет содержать заменённые на " кавычки и если они есть совпадения не будет
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>$IBlockId,"CODE"=>$code,"~VALUE"=>$name));
while ($enum_fields = $property_enums->GetNext()) {
if ($enum_fields["~VALUE"] == $name) {//Поскольку в качестве фильтра бесполезно передавать ~VALUE, проверяем совпадение в этом условии
return $enum_fields["ID"];//Если искомое значенией найдено возвращаем результат в этой строке
}
}
//Если искомое значение найдено не было выполняется код далее
//Определяем ID свойства в инфоблоке
// ID свойств так же можно было получить следующим методом: $result = \Bitrix\Iblock\PropertyTable::getList($params);
$properties = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("ACTIVE"=>"Y","IBLOCK_ID"=>$IBlockId,"PROPERTY_TYPE"=>"L","CODE"=>$code));
if ($prop_fields = $properties->GetNext()) {//Если удалось определить ID свойства в инфоблоке
$PROPERTY_ID = $prop_fields["ID"];
//Создаём элемент списка ENum и выполняем его добавление
$ibpenum = new CIBlockPropertyEnum;
// !!! ВАЖНО В СЛЕДУЮЩЕЙ СТРОЧКЕ УКАЗЫВАЕТСЯ ID СВОЙСТВА РАЗМЕР ИНФОБЛОКА ТОРГОВЫХ ПРЕДЛОЖЕНИЙ А НЕ СИМВОЛЬНЫЙ КОД
if ($PropID = $ibpenum->Add(Array("IBLOCK_ID"=>$IBlockId,"PROPERTY_ID"=>$PROPERTY_ID,"VALUE"=>$name))) {
return $PropID;//Возвращаем Id созданного свойства Enum
}
}
}
//Иначе возвращаем ошибку
return false;
}
//[КОНЕЦ]Функция получения кода свойства типа список(Enum) по его названию а так же Ид инфоблока и коду(имени) свойства
self.addEventListener('install', function(event) {
var indexPage = new Request('index.php');
event.waitUntil(
fetch(indexPage).then(function(response) {
return caches.open('pwabuilder-offline').then(function(cache) {
console.log('[PWA Builder] Cached index page during Install'+ response.url);
return cache.put(indexPage, response);
});
}));
});
self.addEventListener('fetch', function(event) {
var updateCache = function(request){
return caches.open('pwabuilder-offline').then(function (cache) {
return fetch(request).then(function (response) {
console.log('[PWA Builder] add page to offline'+response.url)
return cache.put(request, response);
});
});
};
event.waitUntil(updateCache(event.request));
event.respondWith(
fetch(event.request).catch(function(error) {
console.log( '[PWA Builder] Network request Failed. Serving content from cache: ' + error );
return caches.open('pwabuilder-offline').then(function (cache) {
return cache.match(event.request).then(function (matching) {
var report = !matching || matching.status == 404?Promise.reject('no-match'): matching;
return report
});
});
})
);
})
<div class="map_btn" id="geo">Определить местоположение</div>
var a = document.getElementById('geo');
a.onclick = function() {
geolocation.get({
mapStateAutoApply: true
})
.then(
function(result) {
// Получение местоположения пользователя.
var userAddress = result.geoObjects.get(0).properties.get('text');
var userCoodinates = result.geoObjects.get(0).geometry.getCoordinates();
result.geoObjects.get(0).properties.set({
balloonContentBody: 'Адрес: ' + userAddress +
'<br/>Координаты:' + userCoodinates
});
myMap.geoObjects.add(result.geoObjects)
},
function(err) {
console.log('Ошибка: ' + err)
}
);
}
<?
$ID = $arResult['ID'];
$arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", 'PROPERTY_ELEMENT.ID', 'PROPERTY_ELEMENT.NAME', 'PROPERTY_ELEMENT.CODE',);
$arFilter = Array("IBLOCK_ID"=>16, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", 'PROPERTY_LOOKBOOK.ID' => $ID);
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
echo '<pre>';print_r($arFields);echo '</pre>';
$arRes = $ob->GetProperties(); // свойства элемента
echo '<pre>';print_r($arRes);echo '</pre>';
}
?>
<?
if (preg_match('~^/catalog/([A-Za-z0-9]+)/([A-Za-z0-9]+)~', $_SERVER['REQUEST_URI'])) {
echo "мы находимся на детальной странице каталога";
}
elseif (preg_match('~^/catalog/([A-Za-z0-9]+)/~', $_SERVER['REQUEST_URI'])) {
echo "Друг, это страница каталога, или раздела каталога";
}
elseif (preg_match('~^/catalog/~', $_SERVER['REQUEST_URI'])) {
echo "Друг, это страница каталога, или раздела каталога";
}
else {
echo "Любая другая страница не каталог, не раздел каталога, не страница детальнйо карточки товара";
}
?>