21 июля 2016
Нет комментариев
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)\.html$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)\.html$ /$1 [L,R=301]
display:-moz-inline-stack; display:inline-block; vertical-align:top; zoom:1; *display:inline;
Решается метатегом
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
В примере нужна реализация api для формы, отправляемой с помощью Angular JS. Данные отправляются в Request Payload (название из консоли Google Chrome) при этом массив $_POST — пуст.
Чтобы получить эти данные
В виде json:
echo file_get_contents('php://input');
В результате получим:
{"jsonrpc":"2.0","method":"Widget.ContactForm.sendMessage","id":"0","params":{"message":{"name":"Krylov","email":"[email protected]","address":"+78120000000","message":"test"},"placeholder":{"name":"Name *","email":"E-mail *","address":"Cell ","message":"Comment *"},"hash":"1@KfwalNFOU1rJqW8s4ffYsHg/zlhRhCTLd0XubaAkcVIxhpL227jVj+ZAWVdgge1+eCLe7c1ww+VOT4b26gDXlUvAl39DeMXMzCbqxgK9/e0O1VIIpXX8YYdD0za2rC0nsBHkw0/Ing7u+pYK5KoIpqk4L47Q7DtNRVbLglD6Fm0="}}
В виде массива:
print_r(json_decode(trim(file_get_contents('php://input')),true));
В результате получим:
Array ( [jsonrpc] => 2.0 [method] => Widget.ContactForm.sendMessage [id] => 0 [params] => Array ( [message] => Array ( [name] => Krylov [email] => krylov@krylov.org.ua [address] => +78120000000 [message] => test ) [placeholder] => Array ( [name] => Name * [email] => E-mail * [address] => Cell [message] => Comment * ) [hash] => 1@KfwalNFOU1rJqW8s4ffYsHg/zlhRhCTLd0XubaAkcVIxhpL227jVj+ZAWVdgge1+eCLe7c1ww+VOT4b26gDXlUvAl39DeMXMzCbqxgK9/e0O1VIIpXX8YYdD0za2rC0nsBHkw0/Ing7u+pYK5KoIpqk4L47Q7DtNRVbLglD6Fm0= ) )
Пример простейшей обработки:
header('Content-Type: application/json'); $data=json_decode(trim(file_get_contents('php://input')),true); if(count($data['params']['placeholder'])>0){ $message=''; foreach($data['params']['placeholder'] as $k=>$v){ $message.='<b>'.$v.':</b> '.$data['params']['message'][$k].'<br/>'; } $from='=?utf-8?B?'.base64_encode('Site Name').'?='; $subject='=?utf-8?B?'.base64_encode('Contact Form').'?='; $headers="Content-Type: text/html; charset=utf-8\r\n"; $headers.="From: \"".$from."\"<noreply@".$_SERVER['HTTP_HOST'].">\r\n"; if(mail('[email protected]',$subject,$message,$headers)){ exit('{"result":true,"id":"'.$data['id'].'","jsonrpc":"2.0"}'); } } exit('{"error":{"code":-32600,"message":"Invalid Request","data":null},"id":null}');
Например при фильтре по цене от 7 до 8 с учетом скидки 3%
AND (`price`-(`price`*3/100))>="7" AND (`price`-(`price`*3/100))<="8"
Скрываем блок catalog_filter_item_multi_values при клике вне него. Также при открытии одного из блоков скрываем остальные. При повторном нажатии скрываем активный. При убирании мыши из области активного блока скрывать его.
$(document).click(function(event){ if($(event.target).closest(".catalog_filter_item_multi_values").length||$(event.target).closest(".catalog_filter_item_multi_title").length)return; $(".catalog_filter_item_multi_values").fadeOut("slow"); event.stopPropagation(); }); $('.catalog_filter_item_multi').hover(function(){ },function(){ $(".catalog_filter_item_multi_values").fadeOut("slow"); }); $('.catalog_filter_item_multi_title').click(function(){ $('.catalog_filter_item_multi_values').not($(this).next()).hide(); $(this).next('.catalog_filter_item_multi_values').slideToggle(); });
<div class="catalog_filter_items_multi"> <div class="catalog_filter_item_multi"> <div class="catalog_filter_item_multi_title">Цвет</div> <div class="catalog_filter_item_multi_values"> <label>бежевый <input type="checkbox" name="color[]" value="20"/><span></span></label> <label>белый <input type="checkbox" name="color[]" value="7"/><span></span></label> <label>черный <input type="checkbox" name="color[]" value="5"/><span></span></label> </div> </div> <div class="catalog_filter_item_multi"> <div class="catalog_filter_item_multi_title">Материал</div> <div class="catalog_filter_item_multi_values"> <label>дерево <input type="checkbox" name="mat[]" value="13"/><span></span></label> <label>искусственная кожа <input type="checkbox" name="mat[]" value="3"/><span></span></label> </div> </div> <div class="catalog_filter_item_multi"> <div class="catalog_filter_item_multi_title">Брэнд</div> <div class="catalog_filter_item_multi_values"> <label>707 <input type="checkbox" name="brand[]" value="17218"/><span></span></label> <label>Avenue <input type="checkbox" name="brand[]" value="17210"/><span></span></label> </div> </div> </div>
function get_title($url){ $fp=file_get_contents($url); if(!$fp){ return false; } $res=preg_match("/<title>(.*)<\/title>/siU",$fp,$title_matches); if(!$res){ return false; } $title=preg_replace('/\s+/',' ',$title_matches[1]); $title=trim($title); return $title; }