chcp 1251
for /f "tokens=1,2 delims=<тут подставить символ TAB>" %%a in (file.txt) do (
ren "<имя каталога>\%%a" "%%b"
)
<имя исходного файл с расширением><TAB><имя результирующего файла с расширением>
site.ru A 1.1.1.1
www A 1.1.1.1
sub1 A 2.2.2.2
site.ru A 1.1.1.1
www.site.ru A 1.1.1.1
sub1.sute.ru A 2.2.2.2
@ A 1.1.1.1
www.@ A 1.1.1.1
sub1.@ A 2.2.2.2
1. В разделе "Упаковка" для каждого товара создается своя единица измерения -
2. Там же есть единицы измерения с незаполненным полем "Код по ОКЕИ". Т
<?php
function draw($array)
{
foreach($array as $item)
{
if(isset($item['CHILD']))
{
echo '<li>'.$item['NAME'].'<ul>';
draw($item['CHILD']);
echo '</ul></li>';
}
else
{
echo '<li>'.$item['NAME'].'</li>';
}
}
}
$arr = [
'CHILD' => [
'16' => [
'NAME' => '1',
'CHILD' => [
'17' => [
'NAME' => 'a'
],
'18' => [
'NAME' => 'b'
]
]
]
]
];
echo '<ul>';
draw($arr['CHILD']);
echo '</ul>';
.wrapper {
margin-top: -25px;
margin-bottom: -25px;
..
.child{
margin-top: 25px;
margin-bottom: 25px;
head
и прочие body
.XMLHttpRequest
вызывает событие readystatechange\onprogress
несколько раз с промежуточными результатами, а также имеет метод abort
для остановки. Однако с современными скоростями интернета весь контент скорее всего будет загружен быстрее чем браузер сможет остановить зарос.function parseHead(text) {
if(!parseHead.parser)
parseHead.parser = new DOMParser();
return parseHead.parser.parseFromString(
text.match(/<head>[\s\S]*?<\/head>/i)[0],
"text/html"
).head;
}
function getHead(url) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = function(event) {
if (xhr.readyState === 3) { // если частично загружено
if(/<\/head>/i.test(xhr.responseText)) { // если в загруженном есть закрывающий тег </head>
resolve(parseHead(xhr.responseText)); // парсим текст и возвращаем head
xhr.onreadystatechange = null; // убираем дальнейшую обработку изменения состояния
xhr.abort(); // останавливаем дальнейшую загрузку
}
} else if (xhr.readyState === 4){ // если запрос завршён
if(xhr.status === 200) // если завершён успешно
resolve(parseHead(xhr.responseText)); // парсим текст и возвращаем head
else
reject(xhr);
}
};
xhr.send();
})
}
getHead('/').then(console.log, console.error)
[[!AjaxForm?
......
&submitVar=`form1`
]]
<form method="post" action="[[~[[*id]]]]" id="form-1">
.......
<input type="submit" name="form1" class="btn" value="Отправить" />
.............
</form>
[[!AjaxForm?
......
&submitVar=`form2`
]]
<form method="post" action="[[~[[*id]]]]" id="form-2">
.......
<input type="submit" name="form2" class="btn" value="Отправить" />
.............
</form>
<input type="submit">
применяете <button type="submit">Отправить</button>
, то в форме можно добавить скрытое поле:<input type="hidden" name="form3" value="1" />