1 октября 2015 Нет комментариев

Варианты:

User-agent: *
Disallow: *
Allow: /$
User-agent: *
Allow: /$
Disallow: /

Спецсимволы:
* — любое количество символов (в т.ч. 0)
$ — конец строки
т.е. запрещаем все, разрешаем /
порядок неважен (выяснено экспериментальным путем)

Categories: Web Tags:
20 сентября 2015 Нет комментариев
$text=preg_replace('/style=\"[^\"]*\"/','',$text);

http://community.sitepoint.com/t/remove-inline-style-with-preg-replace/21743/2

Categories: PHP Tags:
15 сентября 2015 Нет комментариев

Запретить контекстное меню в fancybox

$("a[href$='.jpg'], a[href$='.jpeg'], a[href$='.png'], a[href$='.gif']").fancybox({
	helpers:{title:{type:'over'}},
	padding:'0',
	beforeShow:function(){
		/* Disable right click */
		$.fancybox.wrap.bind("contextmenu",function(e){
			return false;
		});
		/* Disable drag */
		$.fancybox.wrap.bind("dragstart",function(e){
			return false;
		});
	}
});
Categories: Javascript Tags:
7 сентября 2015 Нет комментариев
SELECT * FROM `tablename` WHERE `fieldname` REGEXP '^[0-9]+$'

пример update:

UPDATE `tablename` SET `field_en`=`field_ru` WHERE `field_ru` REGEXP '^[0-9]+$';
Categories: MySQL Tags:
25 августа 2015 Нет комментариев

result_modifier.php в папке шаблона компонента детального просмотра

use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
if(count($arResult['PROPERTIES']["COLOR"]['VALUE'])>0){
	$XMLID=$arResult['PROPERTIES']["COLOR"]['VALUE'];
	CModule::IncludeModule("highloadblock");
	$hlblock=HL\HighloadBlockTable::getById(1)->fetch();
	$entity=HL\HighloadBlockTable::compileEntity($hlblock);
	$entity_data_class=$entity->getDataClass();
	$rsProp=$entity_data_class::getList(array(
		"select"=>array('*'),
		"filter"=>array('=UF_XML_ID'=>$XMLID),
	));
	$arResult['HLBLOCK_VALUES']["COLOR"]=array();
	while($arProp = $rsProp->Fetch()){
		$arResult['HLBLOCK_VALUES']["COLOR"][$arProp['UF_XML_ID']]=$arProp;
	}
}

где getById(1): 1 — ID Highload-блока
В шаблоне результат:

print_r($arResult['HLBLOCK_VALUES']);
Categories: CMS Tags: ,
25 августа 2015 Нет комментариев

Открыть хинт нажатием по ссылке вне карты:
Полный рабочий пример:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
	var markers=[];
	function initialize(){
		var hLatlng=new google.maps.LatLng(59.939095,30.315868);
		var hOptions={
			zoom:10,
			center:hLatlng,
			panControl:false,
			zoomControl:true,
			scalecontrol:true,
			scrollwheel:false,
			mapTypeId:google.maps.MapTypeId.ROADMAP
		}
		var map=new google.maps.Map(document.getElementById("map_canvas"),hOptions); 
		var contentString='<div class="info_content" id="info_content_1"><p>Адрес 1</p></div>';
		var iLatlng=new google.maps.LatLng(59.939095,30.315868);
		var infowindow_1=new google.maps.InfoWindow({
			content:contentString
		});
		var marker_1=new google.maps.Marker({
			position:iLatlng,
			map:map,
			title:'Адрес 1'
		});
		markers.push(marker_1);
		google.maps.event.addListener(marker_1,'click',function(){
			infowindow_2.close();
			infowindow_1.open(map,marker_1);
		});
		var contentString='<div class="info_content" id="info_content_2"><p>Адрес 2</p></div>';
		var iLatlng=new google.maps.LatLng(59.90825,30.362823);
		var infowindow_2=new google.maps.InfoWindow({
			content:contentString
		});
		var marker_2=new google.maps.Marker({
			position:iLatlng,
			map:map,
			title:'Адрес 2'
		});
		markers.push(marker_2);
		google.maps.event.addListener(marker_2,'click',function(){
			infowindow_1.close();
			infowindow_2.open(map,marker_2);
		});
	}
	$(window).load(function(){
		initialize();
	})
</script>
<div class="addr_item">
	<p>Адрес 1 <a href="javascript:google.maps.event.trigger(markers[0],'click');">Показать на карте</a></p>
</div>
<div class="addr_item">
	<p>Адрес 2 <a href="javascript:google.maps.event.trigger(markers[1],'click');">Показать на карте</a></p>
</div>
<div id="map_canvas" style="width:640px;height:480px;"></div>

Для дополнительного функционала добавлено:
var markers=[];
markers.push(marker_1);
javascript:google.maps.event.trigger(markers[0],'click');
Предполагается, что адреса внутри foreach и порядок их инициализации на карте, и порядок ссылок совпадает.
infowindow_1.close(); — здесь нужно закрыть все остальные infowindow — также foreach тот же массив

Categories: Javascript Tags:
23 августа 2015 Нет комментариев

Получить данные элемента по id

$element_res=CIBlockElement::GetByID($_GET['element']);
if($element_ar=$element_res->GetNext())echo$element_ar['NAME'];
Categories: CMS Tags: