Whatsapp 7(999)133 53 75 info@changstudio.ru
7(999) 133-53-75 mail@ayupov.org

Шпаргалка MODx

editButton

Событие OnWebPagePrerender

<?php
if ($modx->event->name == 'OnWebPagePrerender') {
if (!$modx->user->isAuthenticated('mgr')) {return;}

$html = '
<div style="position:fixed;z-index:1000; padding:8px 5px;left:5px;bottom:5px;background-color:black;" id="editButton">
<a href="/manager/index.php?a=resource/update&id='.$modx->resource->id.'">Редактировать эту страницу</a>
</div>';
$modx->resource->_output .= $html;
}

fileTranslit

Событие OnFileManagerUpload

$currentdoc = $modx->newObject('modResource');
foreach ($files as &$file) {
	if ($file['error'] == 0) {
		$newName = $currentdoc->cleanAlias($file['name']);

		//file rename logic
		if ($file['name'] !== $newName) {
			$arDirFiles = $source->getObjectsInContainer($directory);
			foreach ($arDirFiles as &$dirFile){
				if($dirFile['name']===$newName){
					//delete file if there is one with new name
					$source->removeObject($directory . $newName);
				}
			}
			//transliterate uploaded file
			$source->renameObject($directory . $file['name'], $newName);
		}
	}
}

Lazy

Событие OnWebPagePrerender

<?php
if ($modx->event->name != 'OnWebPagePrerender') return;
$transparentPixel="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";

$hasLazy = false;
$content = &$modx->resource->_output;
preg_match_all('/<img[^>]+>/i', $content, $images);
if (count($images)) {
    foreach ($images[0] as $image) {
        $imageAttributes = array();
        preg_match('/(class)=("[^"]*")/i', $image, $classValue);
        $imageAttributes["class"] = explode(" ", str_replace('"', '', $classValue[2]));
        
        if (in_array("lazy", $imageAttributes["class"])) {
            preg_match('/(src)=("[^"]*")/i', $image, $imageSrc);
            $i = str_replace('"', '', $imageSrc[2]);
    
            $lazyImage = str_replace(" src=", ' src="'.$transparentPixel.'" data-src=', $image);
            $content = str_replace($image, $lazyImage, $content);
            $hasLazy = true;
        }
    }
}
if ($hasLazy) {
    $lazyJs = '';
    $content = str_replace("</body", $lazyJs . "</body", $content);
}
Разработка сайта dopline.ru

Создание корпоративного сайта компании Доплайн

НПП ТехНефтеМаш

Разработка корпоративного сайта с каталогом продукции НПП ТехНефтеМаш

Продвижение ресторана PranaBar.ru в СПб

Разработка сайтов для вегетарианского ресторана Prana Bar

FirstTalents.ru

Каталог международных фестивалей и конкурсов Первые Таланты

UntiFlags.ru

Разработка интернет-магазина флажной продукции

Сервис CleanUp

Разработка сервиса по уборке квартир CleanUp

Нам доверяют