Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


Anton1988
 Погделиться

Рекомендованные сообещёния

в twig:

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

тут же js:

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

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

Ссылка на комменирий
Погделиться на других сайих


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

в twig:

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

тут же js:

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

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

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

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

 

Ссылка на комменирий
Погделиться на других сайих

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

alert(productK);

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

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

 

 

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

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

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

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

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

 

Ссылка на комменирий
Погделиться на других сайих


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

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

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

alert(productK);

 

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

Ссылка на комменирий
Погделиться на других сайих


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

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

 

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

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

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

 

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


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

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

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

 

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

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

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

Ссылка на комменирий
Погделиться на других сайих


в теле страницы есть. дное при нажатии 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>

Ссылка на комменирий
Погделиться на других сайих


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

вот тело

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

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

 

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

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

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

 

 

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

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

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

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

 

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

Ссылка на комменирий
Погделиться на других сайих


var costK = document.getElementsByName("productK")[0].value
           
             rmNotify('success', productK);

 

 

 

<div class="rm_alert_text"></div>        пусто

Ссылка на комменирий
Погделиться на других сайих


может както через контроллер есть решение? посути мне надо имя продуки просто отправить на site.ru/test.php?=productK

Ссылка на комменирий
Погделиться на других сайих


 

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

 

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

Ссылка на комменирий
Погделиться на других сайих


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

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

 

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

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

Ссылка на комменирий
Погделиться на других сайих

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

<script>
var product_Name = $('#productName').val();
</script>

 

Ссылка на комменирий
Погделиться на других сайих

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

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

 

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

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

Ссылка на комменирий
Погделиться на других сайих

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

Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

Ссылка на комменирий
Погделиться на других сайих

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

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

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

Ссылка на комменирий
Погделиться на других сайих

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

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

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

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

 

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.