Задать вопрос
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    Артем Абрамович, да вся фигня в том, что выбор доставок предлагается на этой странице)) короче сделал загрузку я.доставки листа с условием is_checkout, на корзине просто предлагает выбрать способы, а уже на checkout идёт запрос на сервисы доставок если выбрана я.доставка.
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    Артем Абрамович, не подскажешь такой момент, в JS есть такой код и у тебя он тоже в первом примере, там есть такая переменная wc_checkout_params, дело в том что она работает только на странице /checkout/
    а вот на первой странице корзины /cart/ этой переменной нет, соответственно undefined

    но на странице /cart/ есть wc_cart_params, подставляю за место первого и получаю в запросе ajax
    /wp-admin/admin-ajax.php 403 (Forbidden)

    я так понимаю неверный action= woocommerce_update_order_review для wc_cart_params.update_shipping_method_nonce

    ставлю action=woocommerce_update_shipping_method и вешаю в php action на обновление доставки, но ничего не меняется

    if (typeof wc_checkout_params !== 'undefined' ) {
        var woo_checkout = wc_checkout_params;
      }else if (typeof wc_cart_params !== 'undefined' ){
        var woo_checkout = wc_cart_params;
      }else {
        return false;
      }
    
      var data = {
        action: 'woocommerce_update_order_review',
        security: woo_checkout.update_order_review_nonce,
        post_data: $('form.checkout').serialize()
      };
    
      //console.log(data);
    
      var xhr = $.ajax({
        type: 'POST',
        url: woo_checkout.ajax_url,
        data: data,
        success: function(response) {
          console.log(response);
    
          jQuery( 'form.checkout' ).trigger( 'update' );
        },
        error: function(code){
          console.log('ERROR');
        }
      });
    }
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    Артем Абрамович, спасибо, подскажи что-то нифига не получается отловить событие по переключению методов доставки, вот твой код на картинке самый первый, от чего он вообще срабатывает? ты просто событие js повесил на radio или я чего-то не понимаю?

    JS
    function update_order_shipping(yd_params){
      var data = {
        action: 'woocommerce_update_order_review',
        security: wc_checkout_params.update_order_review_nonce,
        delivery: yd_params,
        post_data: $('form.checkout').serialize()
      };
    
      var xhr = $.ajax({
        type: 'POST',
        url: wc_checkout_params.ajax_url,
        data: data,
        success: function(response) {
          console.log(response);
          $('body').trigger('update_checkout');
        },
        error: function(code){
          console.log('ERROR');
        }
      });
    }
    
    $(document).on('change','#shipping_method input[type="radio"]',function(){
      console.log('update_checkout');
    
      update_order_shipping('CDEK 100rub');
    
    });


    и в плагине вот такой экшн

    add_action( 'woocommerce_update_order_review', 'yandex_delivery_add' );
    
    function yandex_delivery_add(){
     var_dump($_REQUEST["post_data"]);
    }


    yandex_delivery_add() не вызывается (( что не так?
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    Артем Абрамович, те создадутся просто кастомные поля в заказе?

    неенене я спрашивал как вот сюда записать в Отгрузку, что бы ещё и стоимость пересчиталась заказа.

    5d6e32a293efb900669388.png
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    Артем Абрамович, сложна)) ты не понимаешь что я спрашиваю))

    выдернул я НАЗВАНИЕ и ЦЕНУ, в какие переменные эти значения ставить в DATA ? не может же быть что как хочу так и называю
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    Артем Абрамович, ты не понял)) я имею ввиду в какие переменные пеиредавать данные то) то что собрать в DATA информацию это понятно, вопрос мой в том как записать именно выбранную доставку из списка.

    в инпутах самого WC name="shipping_method[0]" value="flat_rate:10" к примеру, это именно идентификатор заранее созданной доставка в панели WC, а у меня же свои службы от яндекса и цены динамические и типы доставок разные я вот и не могу понять как передать в заказ именно мои службы доставки с ценами

    в моём интпуте такая инфа
    name='shop_delivery_method[]' value='{"yd_id":"1495","yd_unique_name":"Boxberry","yd_name":"\u0411\u043e\u043a\u0441\u0431\u0435\u0440\u0440\u0438","yd_cost":"299"}'
  • Wordpress добавить доставку?

    yous
    @yous Автор вопроса
    ок попробуем, а как WC поймет кастомные поля ? ну т.е. у меня там radio с моими же названиями, нужно же передать Название Доставки + сумму
  • Bitrix LOCK_CHANGE_PAYSYSTEM смена оплаты после оформления заказа?

    yous
    @yous Автор вопроса
    Роман Грицук, странно, зашёл в корзину Параметры компонента, подобного свойства там нет, зашёл в Личный кабинет где заказы, там тоже нет..
  • Bitrix LOCK_CHANGE_PAYSYSTEM смена оплаты после оформления заказа?

    yous
    @yous Автор вопроса
    я имел ввиду где-то в админ панели ГАЛОЧКУ, если конечно она там есть...
  • Как настроить переадресацию в Битриксе?

    yous
    @yous
    Виктор Таран, не могу понять, у меня тоже самое в файле...
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
       #  Исключим обмен с 1С, ему требуется только 200 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
       # Перенаправляем протокол на http.
  • Как настроить переадресацию в Битриксе?

    yous
    @yous
    Виктор Таран, про обмен с 1С так и не понял, по ссылке нет уточнения

    напиример для обмена с 1с битриксу нужно и вот такое уточнение
    RewriteCond %{QUERY_STRING} !http(s|)://

    как это добавить?
  • Почему не сжимается css в битрикс?

    yous
    @yous
    да вот и нифига)) галки стоят, вот файл собранный битриксом, часть файлов подключает, а часть нет...

    5d442c9805828282308714.png5d442c9e2b97d978264907.png
  • Как настроить переадресацию в Битриксе?

    yous
    @yous
    Виктор Таран,
    Options -Indexes 
    ErrorDocument 404 /404.php
    
    <IfModule mod_php5.c>
      php_flag session.use_trans_sid off
      #php_flag default_charset UTF-8
      #php_value display_errors 1
    </IfModule>
    
    <IfModule mod_php7.c>
      php_flag session.use_trans_sid off
      #php_flag default_charset UTF-8
      #php_value display_errors 1
    </IfModule>
    
    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
    
      # 301 редирект на https
      RewriteCond %{HTTPS} !=on 
      # Исключение обмер с 1С по протоколу http
      RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
      RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.(php|html|htm)$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
      #Правило обрабатывает внутренние страницы
      # http://site.ru/catalog////item///
      RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
      #Проверяем, повторяется ли слеш (//) более двух раз.
      RewriteRule . %1/%2 [R=301,L]
      #Исключаем все лишние слеши.
    
      #удаляем слеши для главной http://site.ru/////
      RewriteCond %{THE_REQUEST} ([^\s]*)\/{2,}(\?[^\s]*)?
      RewriteRule (.*) / [R=301,L]
    			
      # ASPRO_ROBOTS Serve robots.txt with robots.php only if the latter exists
      # RewriteCond %{REQUEST_FILENAME} robots.txt
      # RewriteCond %{DOCUMENT_ROOT}/robots.php -f
      # RewriteRule ^(.*)$ /robots.php [L]
    
      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}]
    </IfModule>
    
    <IfModule mod_dir.c>
      DirectoryIndex index.php index.html
    </IfModule>
    
    <IfModule mod_expires.c>
      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"  
    </IfModule>
  • Как настроить переадресацию в Битриксе?

    yous
    @yous
    Виктор Таран, вставляю сразу после редиректа https

    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
    
      # 301 редирект на https
      RewriteCond %{HTTPS} !=on 
      # Исключение обмер с 1С по протоколу http
      RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
      RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.(php|html|htm)$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
  • Как настроить переадресацию в Битриксе?

    yous
    @yous
    Виктор Таран, брат подумал сперва, потом написал... не фурычит с index.html

    пробовал так:

    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.(php|html|htm)$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.


    и так

    RewriteRule ^index\.html$ / [R=301,L]

    и так

    RewriteCond %{REQUEST_URI} ^(.*)/index\.html$    
    RewriteRule ^(.*)index\.html$ http://%{HTTP_HOST}/$1 [R=301,L]
  • Как настроить переадресацию в Битриксе?

    yous
    @yous
    а как сделать 301 редирект с /index.html на /
  • Bitrix CEvent::Send &CFile::MakeFileArray в письме 2 одинаковых файла?

    yous
    @yous Автор вопроса
    спс уже понял, что не то делал))
  • Bitrix CEvent::Send &CFile::MakeFileArray в письме 2 одинаковых файла?

    yous
    @yous Автор вопроса
    Ярослав Александров, в письме 2 одинаковых файла) вообщем записал так [$file['tmp_name']] т.е. передал именно путь до файла
  • Bitrix & Lazy Load Images и Асинхронная подгрузка контента?

    yous
    @yous Автор вопроса
    1. да срабатывает, но походу не везде... в открытии корзины FLY у ASPRO.NEXT хоть и подгружается контент через AJAX событие onAjaxSuccess не фурыкает... пришлось JS ASPRO подправить немного.

    2. плагины не использую, для background сделал так:

    [].forEach.call(document.querySelectorAll('[data-background-image]'), function(img) {
            console.log(img);
          img.setAttribute('style', 'background-image:url('+img.getAttribute('data-background-image')+') !important');
        });