Поддержка и разработка для АНО Ориентир (социальный проект)

Поддержка и разработка для АНО Ориентир (социальный проект) WEBSTUDIUS разработка на Wordpress

Осуществляем бесплатную поддержку и доработку сайта Некоммерческой организации АНО Ориентир — это Детский центр с круглосуточным пребыванием, предоставляющий воспитание и обучение профориентационной направленности.

Сайт изначально был разработан на WordPress.

Нами был подключен и настроен прием дотаций, настроен внешний вид сайта, внутренняя работа, исправлены ошибки.

Приятно, что есть команды, поддерживающие детей и подростков с непростой судьбой.

Сайт https://ano-orientir.ru/

Вывести пользовательское свойство ( UF_ ) типа ФАЙЛ в каталоге Битрикс

Решение проблем с сайтом на Битрикс

Потребовалось вывести картинки, прикрепленные в пользовательском свойстве подразделов каталога.

Копал инет, в итоге - рабочий способ:
[exec off]

//Получаем нужное свойство. Айди основного инфоблока и Айди подраздела обязательны, свойства можно получить все, задав UF_*
<? $rsSeo = CIBlockSection::GetList(array("SORT"=>"ASC"), array("IBLOCK_ID"=>$arResult["ORIGINAL_PARAMETERS"]["IBLOCK_ID"], "ID"=>$arResult["ORIGINAL_PARAMETERS"]["SECTION_ID"]), false, array("UF_CAT_IMAGE"));

while($arSeo = $rsSeo->GetNext())
{
//если есть свойства, выводим

if($arSeo['UF_CAT_IMAGE'] != false) { ?>
<divclass="col-xs-12 cat_image_wrapper"style="">
<h4>Фотографии <b><?=$arResult["NAME"];?></b> интерьере</h4>
<br>
<?
foreach($arSeo['UF_CAT_IMAGE'] as $item) {
if(empty($item)) break;
$arFile[$item] = CFile::GetFileArray($item);
// Ресайзим если надо
$arFileTmp = CFile::ResizeImageGet(
$item,
array("width" => 1024, "height" => 768),
BX_RESIZE_IMAGE_PROPORTIONAL,
true, $arFilter
);
?>

//Выводим в нужном нам формате и стилях

<div class="cat_image" data-entity="image">
<ahref="<?=$arFileTmp["src"];?>"rel="lightbox-cats">
<imgsrc="<?=$arFileTmp["src"];?>"alt=""class="lightbox"title=""itemprop="image">
</a>
</div>
<?
}
echo'</div>';
}
}

?>

[/exec]

Сайт для магазина строительных материалов и керамогранита — ALEKSSTROI.RU

Сайт для магазина строительных материалов и керамогранита - ALEKSSTROI.RU

Сделали сайт для компании АЛЕКССТРОЙ.

Сайт создан на движке 1С-Битрикс.

Вот что говорят о себе сами ребята:

Вас приветствует компания ООО ТД "АлексСтрой" .

Мы рады предложить Вам наши услуги по комплексному снабжению организаций и строительных объектов.

Преимущества компании являются широкий ассортимент строительно-отделочных материалов и строительного оборудования, надежность и оперативность в поставках,  низкие цены.

В 2007 году наша компания начала работу на строительном рынке г.Новосибирска и Новосибирской области, клиенты компании - физические лица, промышленные компании, строительные организации, ремонтно-отделочные бригады и т.д. Линейка предлагаемой продукции составляет более 10000 позиций, что позволяет скомплектовать полностью Вашу заявку.

Сотрудничество с  производителями  KNAUF INSULATION, ИЗОСПАН, Henkel Ceresit, ПЕНОПЛЭКС, Технониколь, Изовер, Геркулес, Bergauf, Скала,  и многие другие производители, что  позволяет держать цены конкурентноспособными.

 

Сайт для магазина строительных материалов и керамогранита - ALEKSSTROI.RU

Цветовая гамма - в соответствии с новыми веяниями 2021-2022, по версии Adobe. Самый топчик, моднее пока не придумали 🙂

Работать еще есть над чем, но уже компания может о себе заявить на просторах интернета и показать товар лицом!

Убрать PAGEN_ из адресной строки (сайт на битрикс)

Часто SEO просит убрать PAGEN_1 и все остальные из адреса пагинации битрикс. Попробуйте этот вариант в .htaccess:

#Beautiful paginations
php_value auto_prepend_file "/home/d/УЧЕТНАЯ_ЗАПИСЬ_ХОСТИНГА/ВАШ_САЙТ/public_html/bitrix/pagen.php"
RewriteRule ^(.*)/pagen([\d]+)/ /$1/?PAGEN_1=$2 [L,QSA]

Содержимое файла pagen.php:

<?php
function __isPathTraversalUri($uri)
{
    if (($pos = strpos($uri, '?')) !== false) {
        $uri = substr($uri, 0, $pos);
    }
    $uri = trim($uri);
    return preg_match("#(?:/|2f|^|\\\\|5c)(?:(?:%0*(25)*2e)|\\.){2,}(?:/|%0*(25)*2f|\\\\|%0*(25)*5c|$)#i", $uri) ? true : false;
}
$newUri = preg_replace('#(pagen[\d]+/)#is', '', $_SERVER['REQUEST_URI']);
if (!__isPathTraversalUri($newUri)) {
    $_SERVER['REQUEST_URI'] = $newUri;
}

Сайт для студии кузовного ремонта и детейлинга VipPro (carnano.ru)

Сайт для студии кузовного ремонта и детейлинга VipPro (carnano.ru) - WEBSTUDIUS

Обновили сайт для детейлинг-центра VipPro.

Выполнен полный редизайн сайта, с нуля. Новая айдентика.

Теперь все выгоды, плюсы и характер центра — яркий, мощный, но серьезный и внимательный к мелочам.

В планах — переезд на новый движок, настройка рекламы Директ.

Что говорят о себе?

«VipPro» — Старейший Детейлинг-Центр В Новосибирске (Carnano.Ru) При наличии этих составляющих в определенной последовательности можно достигнуть достойного результата! Имея квалифицированного специалиста, знающего технологию процессов мойки, полировки, химчистки состав и специализацию средств авто химии, Вы на пол пути к успеху. Другие важные составляющие — это качество, безопасность и эффективность применяемых средств авто химии. Современные автомобили состоят из различных материалов отделки экстерьера и интерьера; хром, пластик, лак, кожа, дерево, алюминий, текстиль и т.д. для поддержания которых в первозданном, презентабельном виде, продлении им срока службы требуется правильный уход и защита.

Ссылка на сайт: carnano.ru


Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на Tilda, WordPress, 1C-Bitrix, Joomla, OpenCart или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

ЧИНИМДОМА.РФ — сайт для AG SERVICE на Tilda. Ремонт гаджетов с выездом

ЧИНИМДОМА.РФ - сайт для AG SERVICE на Tilda. Ремонт гаджетов с выездом
Сайт ЧИНИМДОМА.РФ сделан на конструкторе Тильда (Tilda)
ПОЧИНИ СВОЙ ГАДЖЕТ
НЕ ВЫХОДЯ ИЗ ДОМА
Качественно, быстро и недорого. Выездной ремонт техники — самый простой и удобный способ починить ваш сломанный девайс.
ЧИНИМДОМА.РФ - сайт для AG SERVICE на Tilda. Ремонт гаджетов с выездом
ЧИНИМДОМА.РФ — сайт для AG SERVICE на Tilda. Ремонт гаджетов с выездом

 

Ссылка на сайт: https://чинимдома.рф

 


Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на Tilda, WordPress, 1C-Bitrix, Joomla, OpenCart или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

УЧУРЕМОНТУ.РФ — сайт для AG SERVICE на Tilda. Обучение ремонту гаджетов

УЧУРЕМОНТУ.РФ - сайт для AG SERVICE на Tilda. Обучение ремонту гаджетов

Сайт УЧУРЕМОНТУ.РФ сделан на конструкторе Тильда (Tilda)

 

УЧУРЕМОНТУ.РФ - сайт для AG SERVICE на Tilda. Обучение ремонту гаджетов
УЧУРЕМОНТУ.РФ — сайт для AG SERVICE на Tilda. Обучение ремонту гаджетов

 

Ссылка на сайт: https://учуремонту.рф

 


Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на Tilda, WordPress, 1C-Bitrix, Joomla, OpenCart или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

СТЕКЛА.НЕТ — сайт для AG SERVICE на Tilda. Ремонт и замена стекол на гаджетах

СТЕКЛА.НЕТ - сайт для AG SERVICE на Tilda. Ремонт и замена стекол на гаджетах WEBSTUDIUS

Сайт сделан на конструкторе Тильда (Tilda)

СТЕКЛА.НЕТ - сайт для AG SERVICE на Tilda. Ремонт и замена стекол на гаджетах WEBSTUDIUS
СТЕКЛА.НЕТ — сайт для AG SERVICE на Tilda. Ремонт и замена стекол на гаджетах WEBSTUDIUS

 

Ссылка на сайт: https://стекланет.рф

 


Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на Tilda, WordPress, 1C-Bitrix, Joomla, OpenCart или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

Универсальный .htaccess для всех 301 редиректов сразу — http на https, www на без www и т.д.

Чисто памятка для универсального .htaccess для всех редиректов сразу — http на https, www на без www, со слешем, без слеша, с поддоменов одного домена на поддомены другого и т.д.

Используется на на сайтах на Битриксе, в целом, должен работать и на любых других.

Options -Indexes 
ErrorDocument 404 /404.php


RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

#ROBOTS.TXT
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

#DOMAIN AND SUBDOMAIN REDIRECTION
RewriteBase /

RewriteCond %{HTTP_HOST} !^(www\.)?old-site\.ru$
RewriteCond %{HTTP_HOST} ^(.+)\.old-site\.ru$
RewriteRule (.*) https://%1.new-site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^old-site.ru$ [NC]
RewriteRule ^(.*)$ https://new-site.ru/$1 [R=301,L]


RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

#one-to-301-wo-www-and-slash

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]


#RewriteCond %{HTTPS} =off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]


  php_flag session.use_trans_sid off
  #php_flag default_charset UTF-8
  #php_value display_errors 1



  php_flag session.use_trans_sid off
  php_flag default_charset UTF-8

  #php_value display_errors 1



  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]



  DirectoryIndex index.php index.html



  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
  ExpiresByType image/png "access plus 3 day"
  ExpiresByType text/css "access plus 3 day"
  ExpiresByType application/javascript "access plus 3 day"

Убрать index.php (при .html — заменить .php в записи) в конце адреса

# remove index.php from the end of URI
RewriteEngine On
RewriteRule ^index\.php$ / [R=301,L]
RewriteRule ^(.*)/index\.php$ /$1/ [R=301,L]

Редирект GET параметров

Например, сделать редирект со страницы /?act=page&id=2 на /page-2/

RewriteCond %{QUERY_STRING} act=page [NC]
RewriteCond %{QUERY_STRING} id=(\d+) [NC]
RewriteRule .* /page/%1/? [R=301,L]]

Как убрать все get запросы htaccess redirect

Бывает необходимо убрать все GET запросы/параметры из url, т.к на сайте они не используются, а поисковики пытаются индексировать страницы с этими параметрами и отмечают их как дубли.Для того, чтобы убрать GET параметры со всего сайта и сделать 301 редирект на ту же страницу но без параметров необходимо использовать следующую конструкцию:RewriteCond %{QUERY_STRING} ^(.+) [NC]
RewriteRule ^(.*)$ /$1? [R=301,L]

Настройка таких редиректов бывает необходимо после заражения сайта вирусами, когда идет очень много обращений к страницам файла с GET запросами.

Однако если административная панель сайта использует GET запросы, необходимо исключить из этой конструкции папку административной панели сайта, и переделать ее в следующий вид:

RewriteCond %{REQUEST_URI} !^/admin/
RewriteCond %{QUERY_STRING} ^(.+) [NC]
RewriteRule ^(.*)$ /$1? [R=301,L]

Массовая генерация символьного кода в Битрикс

Решение проблем с сайтом на Битрикс

Честно сдернуто со страницы оригинала для удобства поиска )

Генерация символьных кодов для разделов и элементов инфоблоков
Задача:
С генерировать символьные коды для разделов или элементов инфоблока — если они не заданы

Используя скрипт предложенный Николаем Ефремовым делаем так:

1/ открываем командную строку PHP — Рабочий стол — Настройки — Инструменты — Командная PHP-строка [/bitrix/admin/php_command_line.php]
Скопировать в область кода следующий скрипт

if(!CModule::IncludeModule("iblock"))
{
   echo "Error with iblock module!";
   die;
}
$arParams['IBLOCK_ID'] = 17;
$arParams['LIST_CNT'] = 50;
$arParams['IS_ADD_RAND'] = false;
$arParams['TYPE_WORK'] = 'section'; // {section | element}


$arOrder = array(
   "sort" => "inc",
);

$arFilter = array(
   "IBLOCK_ID" => $arParams['IBLOCK_ID'],
   "IBLOCK_LID" => SITE_ID,
   //"CODE" => "",
   "CODE" => false
);

$arTransParams = array(
   "max_len" => 100,
   "change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
   "replace_space" => '-',
   "replace_other" => '-',
   "delete_repeat_replace" => true
);

if($arParams['TYPE_WORK'] == 'section'){
   //for SECTIONS
   $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false);
   $db_elemens->NavStart($arParams['LIST_CNT']);
   echo '<pre>';
   while($ar_res = $db_elemens->GetNext())
   {
      $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams);
      if($arParams['IS_ADD_RAND']){
         $transName = $transName.$arTransParams["replace_space"].$ar_res["ID"];
      }
      $arPropArray = Array( "CODE" => $transName );
      
      $el = new CIBlockSection;
      $res = $el->Update($ar_res["ID"], $arPropArray);
      echo "result for <b>".$ar_res["NAME"]."</b> is <b>".$transName.'</b>'.($res?" and OK":" and failed")."\r\n";
   }
   echo '</pre>';
}elseif($arParams['TYPE_WORK'] == 'element'){
   // for ELEMENTS
   $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams['LIST_CNT']));

   $i = 0;
   echo '<pre>';
   while($obElement = $db_elemens->GetNextElement())
   {
      $ar_res = $obElement->GetFields();
      
      $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams);
      if($arParams['IS_ADD_RAND']){
         $transName = $transName.$arTransParams["replace_space"].$ar_res["ID"];
      }
      $arPropArray = Array( "CODE" => $transName, );
      
      $el = new CIBlockElement;
      $res = $el->Update($ar_res["ID"], $arPropArray);
      echo "result for <b>".$ar_res["NAME"]."</b> is <b>".$transName.'</b>'.($res?" and OK":" and failed")."\r\n";
   }
   echo '</pre>';
}

2/ Определяемся с инфоблоком — ниже в скрипте в параметр $arParams[‘IBLOCK_ID’] нужно записать его ID

3/ Решаем, нужно ли нам генерировать совсем уникальные коды. Можно вначале пройтись и создать не повторяющиеся, а для повторяющихся добавить в конце ID. За это отвечает параметр $arParams[‘IS_ADD_RAND’] — {true|false}

4/ Указываем шаг выборки — параметр $arParams[‘LIST_CNT’] — большим не стоит делать, максимум 100 элементов за раз

5/ Настраиваем параметры транслита. За это отвечает массив $arTransParams

$arTransParams = array(
   "max_len" => 100,
   "change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
   "replace_space" => '-',
   "replace_other" => '-',
   "delete_repeat_replace" => true
);

6/ Указываем для чего будем проводить генерацию — для разделов или для элементов — параметр $arParams[‘TYPE_WORK’] — возможные значения — {section | element}

7/ Жмем кнопку выполнить — прогнать скрипт нужное количество раз

Открыть чат
1
Попробуйте написать нам в WhatsApp!
Попробуйте написать нам в WhatsApp!