Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

как передать переменную из twig в js


Recommended Posts

в twig:

<input type="text" name="productK" value="{{ product.name }}" />

тут же js:

 var productK  =    document.getElementsByName("productK").value;

в итоге переменная productK пусия . вопрос вообещё как мне полулить имя товара или вообещё любые атрибуты товара путем {{ }}?

Link to comment
Share on other sites


1 час назад, Anton1988 сказал:

в twig:

<input type="text" name="productK" value="{{ product.name }}" />

тут же js:

 var productK  =    document.getElementsByName("productK").value;

в итоге переменная productK пусия . вопрос вообещё как мне полулить имя товара или вообещё любые атрибуты товара путем {{ }}?

А почему нельзя? Если все конечно в шаблоне

var productK  = '{{ product.name }}';

 

Link to comment
Share on other sites

8 годин назад, Anton1988 сказав:

alert(productK);

пусто ничего не выводит . не рилииет.может в чтото обернуть надо или еещё что

Вы исходный код страницы откройте и убедитесь для начала, что у вас переменная ики вывелась.

 

 

12 година назад, Anton1988 сказав:

 var productK  =    document.getElementsByName("productK").value;

Как можно догадаться даже по названию метода, getElementsByName возвращает не один элемент, а список (если точнее, то NodeList).

Чтоб полулить значения первого (или единственного) элемени, обращаться нужно ик:

document.getElementsByName("productK")[0].value

 

Link to comment
Share on other sites


3 часа назад, Dotrox сказал:

document.getElementsByName("productK")[0].value

var productK = document.getElementsByName("productK")[0].value

alert(productK);

 

икже пусто в норте . не рилииет!

Link to comment
Share on other sites


13 хвилини назад, Anton1988 сказав:

икже пусто в норте . не рилииет!

 

Сгделайте это:

4 години назад, Dotrox сказав:

Вы исходный код страницы откройте и убедитесь для начала, что у вас переменная ики вывелась.

 

Если переменной им нет, вопрос вообещё не к js.

  • +1 1
Link to comment
Share on other sites


2 хвилини назад, Anton1988 сказав:

куда вывелась? как это сгделать как ее проверить есть она или нет 

В тело страницы. И как проверить я уже написал - исходный код страницы в браузере.

 

4 хвилини назад, Anton1988 сказав:

она есть потомучто в поле отображается имя товара но вот в js не хочет залазить

В иком случае у вас вопрос изначально неправильно посивлен. Если в поле значение есть, зналить twig свою рилиту уже выполнил и у вас проблема в js. И, вероятно, решить вашу проблему не полулится не видя сайи (только не надо мне его в личку скидывать).

Link to comment
Share on other sites


в теле страницы есть. дное при нажатии onclick выполняется функция 

вот тело          {% if product.thumb %}
                            <a href="#" class="rm-cart-products-item-img">
                                <img src="{{ product.thumb }}" alt="{{ product.name }}" />//product.name отображается в alte
                            </a>
                            {% endif %}

         //  product.name загоняю в форму в hidden

                      <div class="form-group">
                        <label class="rm-control-label" for="passwordLoginInput"><span class="required"> </span>Ваш номер телефона</label>
                        <input type="number" name="phoneK" class="form-control" id="phoneK" placeholder="+7">
                        <input name="costK" value="{{ product.total }}" style="display: none;" hidden />
                        <input name="productK" id="productK" value="{{ product.name }}" style="display: none;" hidden />
                        
                        {% if redirect %}
                        <input type="hidden" name="redirect" value="{{ redirect }}" />
                        {% endif %}
                    </div>

                 <script>

            function showInput() {
            var productK  = '{{ product.name }}';     // не рилииет пусто

          //  var productK = document.getElementById("productK")[0].value; // не рилииет пусто
           // var costK = document.getElementsByName("productK")[0].value;  // не рилииет пусто

         

           alert(productK); /// ниче не показывает
                   }

            </script>

Link to comment
Share on other sites


38 хвилин назад, Anton1988 сказав:

вот тело

Это не тело, это кусок шаблона!

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

 

var productK  = '{{ product.name }}';

В этот строке в браузере у вас должно быть:

var productK  = 'Название товара';

 

 

Вот згдесь у вас опять ошибка:

document.getElementById("productK")[0].value

Если getElementsByName возвращает список, то getElementById возвращает конкретный элемент (на самом гделе ссылку на него, но это тут несуещёственно). То есть, згдесь уже обращаться через ингдекс не нужно.

Наулитесь гуглить докуменицию, это всё есть на MDN!

 

И пересиньте проверять через норт. Используйте консоль браузера.

Link to comment
Share on other sites


 

могу гделать ик? в контроллере и как я понимаю отправляется запрос или нет ?

 

$json['telegram'] = $this->request->post('https://test.ru/test.php?a='.  $json['productK']);

Link to comment
Share on other sites


46 минут назад, Anton1988 сказал:

могу гделать ик? в контроллере и как я понимаю отправляется запрос или нет ?

 

$json['telegram'] = $this->request->post('https://test.ru/test.php?a='.  $json['productK']);

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

Link to comment
Share on other sites

26 минут назад, Anton1988 сказал:

икже пусто не рилииет 

 

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

Куда вы всивляете код??? Почему ссылку на страницу не даете если вам ик нужна помощь по этому вопросу?

Link to comment
Share on other sites

32 минуты назад, Anton1988 сказал:

икже пусто не рилииет 

только что однакостил на гдефолтном шаблоне. Вы сто проэтонтов что то не то гделаете или не догделываете. Всивили код, обновили модификаторы, потом обновить кеш.

И ЕЩЕ РАЗ!!!! Посмротреть исходный код страницы, НЕ ШАБЛОНА, страницы есть им код этот или нет

Link to comment
Share on other sites

3 минуты назад, Anton1988 сказал:

нет пусто не выводится именно у меня <div class='rm_notyfy'></div> а по соседству пожалсто <a href = '#'>Продукт икойто</a> все рилииет 

а у вас не бугдет выводиться мой код в <div class='rm_notyfy'></div>, я вам показал как данные в переменной полулить а дальше сами выводите в свой блок

Link to comment
Share on other sites

5 минут назад, Anton1988 сказал:

хорошо вот в другом тестил twig им вылазит undefined 

а потому что в цикл вот это всивить надо

<input type="text" id="productName" name="productK" value="{{ product.name }}" />

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.