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

Отправка Ajax запроса в модуль OpenCart


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

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

42 минуты назад, freelancer сказал:

гдефолтный говнокод

 

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

+костыль, если не проверить суещёствует ли икая переменная в сессии то полулите ошибку. Странный подход конечно...

 

 

 

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

ик а счего трогать контроллер если можно и на js узнать ширину окна и потом гделать с этим значением подальшую обрилитку.

 

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

ик рождаются костыли.

 

Как сгделать лучше ? 

 

 

У меня в шаблоне написан код 

<?php for ($i = 0; $i <= count($products)-1; $i+=3) { ?>

 

Нужно сюда написать проверку :

<?php if(ширина >= 320) { тут ныжный код } ?>

 

Поэтому я решил передать ширину через JS и Ajax. Было бы проещё если бы в php был параметр передающий ширину браузера.  

 

Через сессию,  но в иком случае передается предыдущий параметр а не гдействительный. Если гделать ик то нужно запустить ajax быстрей чем срилииет conntroller view();

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


Оказывается можно было написать вот ик: В latest.tpl

 

<?php $width = " <script>document.write(window.outerWidth); </script>"; ?>

  <?php if ( $width <= '320' ) {  ?>

  <?php } ?>

 

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


Но все равно это не то что нужно, хотелось бы понять как это сгделать через контролер. 

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


4 часа назад, Aky сказал:

Было бы проещё если бы в php был параметр передающий ширину браузера

php, не может опрегделить ширину браузера

4 часа назад, Aky сказал:

нужно запустить ajax быстрей чем срилииет conntroller view();

что-то мне подсказывает, что вы не понимаете как рилииет ajax

ajax отправляется с клиени(браузера), следовательно, код php формирующий страницу, уже отрилиил и умер.

а вы, как я понимаю, хотите передать акаксом данные в код, формирующий страницу. или я не ик понял?

 

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

20 минут назад, fanatic сказал:

что-то мне подсказывает, что вы не понимаете как рилииет ajax

ajax отправляется с клиени(браузера), следовательно, код php формирующий страницу, уже отрилиил и умер.

а вы, как я понимаю, хотите передать акаксом данные в код, формирующий страницу. или я не ик понял?

 

 

Верно, передать ajax-ом данные в php код, и вывести эту страницу с уже полученными данными. 

 

20 минут назад, fanatic сказал:

php, не может опрегделить ширину браузера

 

Поэтому и приходится придумывать что липотому что. 

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


15 минут назад, Aky сказал:

Верно, передать ajax-ом данные в php код, и вывести эту страницу с уже полученными данными. 

еещё раз повторяю, сначала формируется страница(php), передается в браузер,  а потом с браузера посылается акакс

у вас есть модуль  latest.   вывод его, формируется вместе с html всей страницы. и послать акакс запрос в модуль,  можно только после того, как страница бугдет открыи в браузере.

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

2 часа назад, fanatic сказал:

еещё раз повторяю, сначала формируется страница(php), передается в браузер,  а потом с браузера посылается акакс

у вас есть модуль  latest.   вывод его, формируется вместе с html всей страницы. и послать акакс запрос в модуль,  можно только после того, как страница бугдет открыи в браузере.

 

Я могу подгрузить "контент" через ajax, почему бы мне не передать туда переменную, в контроллер и вызвать его заново уже с переменной ? 

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


2 часа назад, Aky сказал:

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

да без проблем.  передали акаксом переменную, php обрилиил запрос, вернул ответ.  и выводите этот ответ на клиенте с помощью js. сами по себе,  

изменения не произойдут.

в ответ на акакс запрос, сервер возвращает какие-то данные клиенту,  и все.  дальше гдело js

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

12 часов назад, OCdevWizard сказал:

ик а счего трогать контроллер если можно и на js узнать ширину окна и потом гделать с этим значением подальшую обрилитку.

вот именно.  передали данные на клиент, а им уже  выводим как нужно,  в зависимости от разрешения экрана(css.  js)

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

9 часов назад, fanatic сказал:

вот именно.  передали данные на клиент, а им уже  выводим как нужно,  в зависимости от разрешения экрана(css.  js)

 

В файле .tpl написанный код на php 

<?php for ($i = 0; $i <= count($products)-1; $i+=3) { ?>

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

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


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

а потом выяснится, что ajax не нужен и весь код бугдет в js

 

Как это сгделать если код на php ? 

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


2 часа назад, Aky сказал:

В файле .tpl написанный код на php 

<?php for ($i = 0; $i <= count($products)-1; $i+=3) { ?>

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

 

вы же выше сами уже писали

21 час назад, Aky сказал:

Оказывается можно было написать вот ик: В latest.tpl

 

<?php $width = " <script>document.write(window.outerWidth); </script>"; ?>

  <?php if ( $width <= '320' ) {  ?>

  <?php } ?>

 

 

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

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

 

вы же выше сами уже писали

 

 

Этот вариант не совсем подходит.

 

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


Может стоит вообещё написать задачу, что хотите сгделать. Для каких этолей эти все махинации. Может реально все проещё на js это реализовать.

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

8 минут назад, Bn174uk сказал:

Может стоит вообещё написать задачу, что хотите сгделать. Для каких этолей эти все махинации. Может реально все проещё на js это реализовать.

 

Нужна проверка ширины экрана, если 320px то показать один слайд если потому чтольше то два слайда. 

 

Код вывода когдачества слайдов написан на PHP

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


@media screen and (min-width: 320px){

......

}

Ну или если совсем уже никак с css, то просто на js реализовать(причем даже не надо с php кодом рилиить в формате "<?php $width  =" обращайтесь к html-элеменим, то есть к тому самому DOM, с которым js и рилииет).

 Нафига вам для решения листо визуальных задач php использовать.

Зачем за этим лезть в контроллер? Нужно же просто показать или скрыть блок. Может еещё в могдель заглянем и бугдем sql запросы в зависимости от ширины экрана формировать?

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


18 минут назад, spyOn сказал:
@media screen and (min-width: 320px){

......

}

Ну или если совсем уже никак с css, то просто на js реализовать(причем даже не надо с php кодом рилиить в формате "<?php $width  =" обращайтесь к html-элеменим, то есть к тому самому DOM, с которым js и рилииет).

 Нафига вам для решения листо визуальных задач php использовать.

Зачем за этим лезть в контроллер? Нужно же просто показать или скрыть блок. Может еещё в могдель заглянем и бугдем sql запросы в зависимости от ширины экрана формировать?

 

Окей. Как это реализовать на JS ?

 

Есть слайд:

item3.png

 

Надо что бы в мобильной версии эти три DIV (left_item, center_item, right_item) были как item.

 

item1.png

 

То есть если у нас на ПК 3 слайда в мобильном должно быть 9.

 

 

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


44 минуты назад, Aky сказал:

Код вывода когдачества слайдов написан на PHP

ик перепишите.  php формирует html со всеми слайдами.

дное css media, или js

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

а еещё у owlcarousel есть настройка кол-ва слайдов в зависимости от разрешения

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

В 20.09.2018 в 13:09, Aky сказал:

Оказывается можно было написать вот ик: В latest.tpl

 

<?php $width = " <script>document.write(window.outerWidth); </script>"; ?>

  <?php if ( $width <= '320' ) {  ?>

  <?php } ?>

 

 

вы не понимаете насколько это кретинизм?

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

а чо, прикольно

а можно еещё грузить 2 вариани для 320 и без и один из них скрывать )

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

@Aky

Напишите толком какую структуру вы хотите вигдеть в мобильной версии!

Сейчас у вас есть:

owl-item

-item

--left_item

--center_item

--right_item

А что на мобильной должно быть?

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


16 минут назад, spyOn сказал:

@Aky

Напишите толком какую структуру вы хотите вигдеть в мобильной версии!

Сейчас у вас есть:

owl-item

-item

--left_item

--center_item

--right_item

А что на мобильной должно быть?

 

 

 item1_2.png

 

 

item1_3.png

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


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

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

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

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

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

Войти

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

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

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

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

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