(☞ຈل͜ຈ)☞ Главная  Статьи  Загрузчик Домой

Ok!
Ok!
40
Если в Joomla выдается ошибка "Неправильно указан путь к папкам tmp и logs", то проще его указать в конфиге как 
<pre>public $log_path = __DIR__ . '/logs';
public $tmp_path = __DIR__ . '/tmp';</pre>
если эти папки лежат в корне сайта
joomla, config path, joomla tmp200Конфиг Joomla путь до папок
85
document.addEventListener("DOMContentLoaded", function(event) {
    console.log("DOM fully loaded and parsed");
  });
domcontentloaded200По окончании загрузки страницы без jQuery
190
<script>
$(document).ready(function(){

    function getRemanningDays() {
        var date = new Date();
        var time = new Date(date.getTime());
        time.setMonth(date.getMonth() + 1);
        time.setDate(0);
        var days = time.getDate() > date.getDate() ? time.getDate() - date.getDate() : 0;
        return days;
    }



    setInterval(function(){

        let dateNow = new Date();
        let lastDate = new Date(new Date().getFullYear(), new Date().getMonth() + 2, 0).getDate();
        let mon = dateNow.getMonth();

        let monthNames = [ "января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря" ];


        if($('[field="tn_text_1620984661425"]').length){
        let text = $('[field="tn_text_1620984661425"]').text();
        let part = text.substr(18);
        let now = new Date();
        let new_text = 'Акция действует до ';
        if(getRemanningDays() < 15){
            new_text = new_text + lastDate + " " + monthNames[dateNow.getMonth() + 1];
            $('[field="tn_text_1620984661425"]').text(new_text);
        }
    }
    }, 1000);

})
</script>
до конча месяца, изменить дату, js200Акция если до конца месяца менее 10 дней, то акция продляется до конца следующего месяца
225
<a href="https://api.whatsapp.com/send?phone=79269946796" target="_blank" class="header__social-link" data-menu-exit>
wa, whatsapp200Whatsapp
241
let dano = $('[name=ORDER_PROP_20]').val(); // 19.03.2023
let dateEn = new Date(dano.substr(6,4), dano.substr(4,2) - 1, dano.substr(0,2), 0, 0, 0).toLocaleDateString('en-CA'); // 2023-03-19
date, JS, convert200Конвертация импортной даты в русскую
256
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
</IfModule>
redirect, public190htaccess редирект из корня в папку public в корне
8
onclick="$('html, body').animate({scrollTop:6500}, 'slow');
jquery, scrollTop, скролл, плавный190Плавный скролл до точки, jQuery
11
$(document).ready(function(){
    /**function for slider change*/
    var sizeSl = $('.slq-wrap li.slide-q').length;
    var indexSl = 0;
    var fSlq = function(indexSl){
        $('.slq-wrap li.slide-q').removeClass('activ');
        $('.slq-wrap li.slide-q').eq(indexSl).addClass('activ');
        if ($('.slq-wrap li.slide-q').eq(indexSl).hasClass('video_sl')) {
            $('.paly-sl-q').show();
        } else {
            $('.paly-sl-q').hide();
        }
    }
    $('.left-c-sl').click(function(){
        clearTimeout(R);
        /*pause on left click*/
        var active_index = 0;
        window.Int;
        if (typeof(video)!='object'){
            var video = $('slide-q').length;
        }

        for(var i=0; i<video.length; i++){
            if($(".video_sl").eq(i).hasClass('activ')){
                active_index = i;

            }
        }
        var jVideo = document.getElementsByTagName('video');

        if(document.getElementsByTagName('video').length!=0){
            if (!jVideo[active_index].paused) {
                $('video').eq(active_index).trigger('pause');
                var button = $('.paly-sl-q.comm');
                button.removeClass('paused');
            }
        }

        if (indexSl == 0) {
            indexSl = sizeSl - 1;
        } else {
            indexSl = indexSl - 1;
        }

        fSlq(indexSl);
    });


    $('.right-c-sl').click(function(){
        /*pause on right click*/
        clearTimeout(R);
        var active_index = 0;
        window.Int;
        if (typeof(video)!='object'){
            var video = $('slide-q').length;
        }

        for(var i=0; i<video.length; i++){
            if($(".slide-q").eq(i).hasClass('activ')){
                active_index = i;
            }
        }
        var jVideo = document.getElementsByTagName('video');

        if(document.getElementsByTagName('video').length!=0){
            if (!jVideo[active_index].paused) {
                $('video').eq(active_index).trigger('pause');
                var button = $('.paly-sl-q.comm');
                button.removeClass('paused');
            }
        }
        // console.log(indexSl)
        if (indexSl == sizeSl - 1) {
            indexSl = 0;
        } else {
            indexSl = indexSl + 1;
        }
        fSlq(indexSl);
    });
});
видео, ютьюб, youtube, видео пауза190При переключении видео в Ютьюб в списке ставит прошлое на паузу
21
<img src="http://bit.ly/2heoc2H" alt="Simon's cat" width="200" height="200">

img {
  object-fit: cover; // magic goes here
}
картинка, по ширине, по высоте, подогнать картинку, вместо background-size, object-fit190Решение с изображением, чтобы отображалось без сжатия и не бэкграунд
7
<input type="tel" name="phone" class="form-control form-block" placeholder="+7(999)999-99-99" pattern="[+]d{1}[(]d{3}[)]d{4}[-]d{2}[-]d{2}" value="">
html, phone, pattern, regex160Regex паттерн для проверки номера телефона. Пример html валидации
2
$text = iconv(mb_detect_encoding($det, mb_detect_order(), true), "UTF-8", $det);
encoding, кодировка, перекодировать, Конвертация150Конвертация из любой кодировки в utf-8
13
$was_id = intval($DB->LastID());
last id, последний id150Выбрать из базы последний добавленный ID при autoincrement
258
SELECT
COUNT(SUM_PAID),
CASE
WHEN SUM_PAID > 10000 THEN 'more10'
WHEN SUM_PAID BETWEEN 5000 AND 10000 THEN '5to10'
ELSE 'less5'
END AS SaleLevel
FROM b_sale_order
GROUP BY SaleLevel;
sql, case140Запрос с условием SQL CASE
91
При ошибке 502 в импорте инфоблоков Битрикс
Заменить в файле
/bitrix/modules/iblock/admin/iblock_xml_import.php

if($obXMLFile->ReadXMLToDatabase($fp, $NS, $INTERVAL))
на
if($obXMLFile->ReadXMLToDatabase($fp, $NS, 10, $INTERVAL))
502, битрикс, инфоблок, ошибка импорта140Ошибка импорта инфоблока Битрикс 502
96
function resizeAndConvertImageWebP(
    $width,
    $height,
    $density,
    $originalFilepath,
    $resizedFilepath) {
  $newWidth = $width * $density;
  $newHeight = $height * $density;

  $image = new Imagick($originalFilepath);
  $origImageDimens = $image->getImageGeometry();
  $origImgWidth = $origImageDimens['width'];
  $origImgHeight = $origImageDimens['height'];

  if($newWidth == 0) {
    $ratioOfHeight = $newHeight / $origImgHeight;
    $newWidth = $origImgWidth * $ratioOfHeight;
  }

  if($newHeight == 0) {
    $ratioOfWidth = $newWidth / $origImgWidth;
    $newHeight = $origImgHeight * $ratioOfWidth;
  }

  $widthRatios = $origImgWidth / $newWidth;
  $heightRatios = $origImgHeight / $newHeight;

  if($widthRatios <= $heightRatios) {
    $cropWidth = $origImgWidth;
    $cropHeight = $newWidth * $widthRatios;
  } else {
    $cropWidth = $newHeight * $heightRatios;
    $cropHeight = $origImgHeight;
  }

  $cropX = ($origImgWidth - $cropWidth) / 2;
  $cropY = ($origImgHeight - $cropHeight) / 2;

  $image->stripImage();
  $image->cropImage($cropWidth, $cropHeight, $cropX, $cropY);
  $image->resizeImage($newWidth, $newHeight, imagick::FILTER_LANCZOS, 0.9);
  $image->setImageFormat('webp');
  $image->setImageAlphaChannel(imagick::ALPHACHANNEL_ACTIVATE);
  $image->setBackgroundColor(new ImagickPixel('transparent'));
  $image->writeImage($resizedFilepath);
}
webp,support,imagemagic140Конвертация картинки в webp в случае, если imageMagic поддрживает
144
$iterator = CIBlockElement::GetList(
   array(),
   array('IBLOCK_ID' => 2, '=AVAILABLE' => 'Y', '=TYPE' => 1, '>=PRICE' => 100, '<=PRICE' => 200, 'CURRENCY_FOR_SCALE' => 'USD'),
   false,
   false,
   array('ID', 'NAME', 'IBLOCK_ID')
);
итератор, iterator bitrix, iterator140Выборка элементов Битрикс из каталога или другого инфоблока. Итерация.
97
<link rel="stylesheet" href="/animate.min.css" media="none" onload="if(media!='all')media='all'"><noscript><link rel="stylesheet" href="/animate.min.css"></noscript>
link, ускорение загрузки130Ускорение загрузки сайта уменьшением загрузки css
137
if ($('#phone_inp').val().length){
var ph = $('#phone_inp').val().replace(/[^0-9.]/g, "");
if(ph.length == 11) {
телефон, цифры, digits, phone number, js130Проверка телефона на число заполненных цифр
221
User-agent: *
Disallow: /

User-agent: Googlebot
User-agent: AdsBot-Google
Disallow: /
disallow all, robots130Запретить индексайцию всем роботам и рекламным ботам
15
$useragent=$_SERVER['HTTP_USER_AGENT'];
                $mob = 0;
                if(preg_match('/(android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i',substr($useragent,0,4))){
                    $mob = 1;
                }
mobile detect, мобильные php, пхп мобильный129Код определения мобильных телефонов через PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14