logo
Русский
    Русский

      Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

      Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

      Демо EBT модули Скачать EBT модули

      ❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

      Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

      Демо EPT модули Скачать EPT модули

      Scroll

      Мультивалютность в Drupal Commerce

      22/02/2025, by Гость (не проверено)

      Добрый день. На сайте прикрутил модуль Multicurrency для коммерц. Все работаешь зашибись. Вот только стоимость доставки и сумму заказа  считает  не в текущей валюте а в валюте по умолчанию установленной в системе.  Есть у меня две валюты, баксы и еврики, вот по умолчанию стоит бакс а иногда надо посчитать в евро, а этого не делается. Может правило необходимо какое создать илиу словие? но какое...


      Здравствуйте, у вас для каждой валюты есть своя таблица. Вам нужно будет исходя из текущего курса валют (модуль позволяет определять курсы валют) по крону пересчитывать текущую цену в рублях. Что-то вроде этого:

      function custom_cron(){
      
      
        $euro = db_query('SELECT * FROM {field_data_commerce_price_eur}', array());
       // dsm($euro);
        $rub = db_query('SELECT * FROM {field_data_commerce_price}', array());
        $rub_prices = array();
        foreach($rub as $money){
          $rub_prices[] = $money->entity_id;
        }
      
      
      
      
      
        foreach($euro as $one){
          $commerce_multicurrency = variable_get('commerce_multicurrency_conversion_settings');
          $sum = $one->commerce_price_eur_amount * $commerce_multicurrency['EUR']['rates']['RUB']['rate'];
          $sum = round($sum);
          if(in_array($one->entity_id,$rub_prices)){
            $query = db_update('field_data_commerce_price')
              ->fields(array(
                'entity_type' => 'commerce_product',
                'bundle' => $one->bundle,
                'deleted' => $one->deleted,
                'entity_id' => $one->entity_id,
                'revision_id' => $one->revision_id,
                'language' => $one->language,
                'delta' => $one->delta,
                'commerce_price_amount' => $sum,
                'commerce_price_currency_code' => 'RUB',
                'commerce_price_data' => $one->commerce_price_eur_data,
              ))
              ->condition('entity_id', $one->entity_id)
              ->execute();
          }else{
            $query = db_insert('field_data_commerce_price')
              ->fields(array(
                'entity_type' => 'commerce_product',
                'bundle' => $one->bundle,
                'deleted' => $one->deleted,
                'entity_id' => $one->entity_id,
                'revision_id' => $one->revision_id,
                'language' => $one->language,
                'delta' => $one->delta,
                'commerce_price_amount' => $sum,
                'commerce_price_currency_code' => 'RUB',
                'commerce_price_data' => $one->commerce_price_eur_data,
              ))
              ->execute();
          }
        }
      }