!$detect->isTablet()
разве не трактуется как не планшет?
Отправлено 31 January 2015 - 09:34
!$detect->isTablet()
разве не трактуется как не планшет?
JBZoo чат /
Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
Отправлено 31 January 2015 - 10:05
!$detect->isTablet()разве не трактуется как не планшет?
именно, в примере который я дал правильный коммент будет только на мобильных
Кстати, я этот класс Mobile_Detect вживил даже в JBlank. Мне нра, хотя подход к определению конечно не 100%
...но таких и не бывает (=
Денис а что не определяет? Я просто месяц назад когда ставил его на один из своих "самописов" долго проверял его хромовским отладчиком и всеми устройствами которые попадались под руку, разночтений в определении так и не нашел.
Отправлено 31 January 2015 - 10:12
Денис а что не определяет?
Класс ориентируется на http_user_agent а ему, как известно, нельзя доверять как и любым заголовкам/переменным http_*
Если человек сидит через проксю, например, которая потрошит заголовки, то чуда не произойдет.
Ну и +пачка расширений браузера, которые могут подделывать это все.
В общем, не точная наука =) Но более кошерного способа не найти.
У этого форума тоже регулярками определяется тип браузера и устройства, в целом проблем у меня тоже не наблюдалось с телефона и планшета. За исключением 2-3 случаев.
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Отправлено 31 January 2015 - 16:36
Мне кажется, это не пойдет мне.
Я использовал вот этот плагин:
http://www.blackredd...detector-plugin
Все здорово, особенно с мобильным шаблоном от того же разработчика. Если я поставлю паралельный вариант определения мобильных устройств, то может случиться такое, что в мобильном шаблоне окажется десктопная корзина или наоборот. В общем приятного мало. К тому же у меня есть возможность мануального переключения между мобильной и десктопной версией.
Итого: как можно привязать отображение той или иной структуры корзины в зависимости от шаблона или класса?
Отправлено 02 February 2015 - 09:51
Ребят, я понимаю, что у всех и своих дел навалом, но, все же, может кто-то сможет помочь с решением этой проблемы? это, в общем-то, последнее препятствие перед созданием полноценной мобильной версии)
Отправлено 02 February 2015 - 10:00
Ребят, я понимаю, что у всех и своих дел навалом, но, все же, может кто-то сможет помочь с решением этой проблемы? это, в общем-то, последнее препятствие перед созданием полноценной мобильной версии)
Возможно просто не понимают сути вопроса... цели...
Вы говорите:
как можно привязать отображение той или иной структуры корзины в зависимости от шаблона или класса?
Вариант 1: Отображать по разному можно по классам - классы можно вешать JS'ом - JS может брать классы пускай от того же mobile detect.
Вариант 2: Отображаение того или иного от класса - это медиа выражения CSS3 - в принципе по ширине окна верстать для каждого и ничего сложного.
Вариант 3: Отображать в зависимости от шаблона - а шаблон подставлять в зависимости от устройства (телефон, планшет, иное) - самым рабочим способ для меня это https://www.nonumber...templatemanager - в нем есть возможность детектить почти все. (у меня например даже стояла настройка с двух часов ночи до 7 утра менять шаблон на легковесный на новостнике - ночью боты ПС очень активны). И использовать advancedtemplatemanager например с шаблоном JBlank - в нем можно быстро и ЧИСТО написать структуру шаблона (использовать mobile detect в этом варианте не нужно).
JBZoo чат /
Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
Отправлено 02 February 2015 - 10:29
ок, я действительно не понятно выразился)
итак, с начала.
Вот так выглядит обычный шаблон корзины:
<div class="basket-item-list box1"> <div class="module-title"> <h2 class="title"><?php echo JText::_('JBZOO_CART_ITEMS'); ?></h1> </div> <table class="jbbasket-table jsJBZooBasket"> <thead> <tr> <th>#</th> <th><?php echo JText::_('JBZOO_CART_ITEM_SKU'); ?></th> <th></th> <th><?php echo JText::_('JBZOO_CART_ITEM_NAME'); ?></th> <th style="min-width: 120px;"><?php echo JText::_('JBZOO_CART_ITEM_PRICE'); ?></th> <th><?php echo JText::_('JBZOO_CART_ITEM_QUANTITY'); ?></th> <th style="min-width: 120px;"><?php echo JText::_('JBZOO_CART_ITEM_SUBTOTAL'); ?></th> <th></th> </tr> </thead> <tbody> <?php $i = 0; $summa = 0; $count = 0; $currencyConvert = $view->appParams->get('global.jbzoo_cart_config.currency'); $imageElementId = $view->appParams->get('global.jbzoo_cart_config.element-image'); foreach ($view->basketItems as $hash => $basketItem) { $item = $basketItem['item']; $basketItem['price'] = $this->app->jbmoney->convert($basketItem['currency'], $currencyConvert, $basketItem['price']); $count += $basketItem['quantity']; $subtotal = $basketItem['quantity'] * $basketItem['price']; $summa += $subtotal; $image = $this->app->jbitem->renderImageFromItem($item, $imageElementId, true); echo '<tr class="row-' . $hash . '" data-itemId="' . $item->id . '" data-hash="' . $hash . '">'; echo '<td class="cart-item-number">' . ++$i . '</td>'; echo '<td class="cart-item-sku">' . $basketItem['sku'] . '</td>'; echo '<td class="cart-item-image">' . $image . '</td>'; echo '<td class="cart-item-name">'; echo '<a href="' . $this->app->route->item($item) . '" title="' . $item->name . '">' . $item->name . '</a>'; if (isset($basketItem['priceParams']) && !empty($basketItem['priceParams'])) { foreach ($basketItem['priceParams'] as $key => $value) { if (!empty($value)) { echo '<div><strong>' . $key . ':</strong> ' . $value . '</div>'; } } } if (!empty($basketItem['priceDesc'])) { echo '<br/><span class="price-description">' . $basketItem['priceDesc'] . '</span>'; } echo '</td>'; if ($basketItem['price']) { echo '<td class="jsPricevalue cart-item-price" price="' . $basketItem['price'] . '">' . $this->app->jbmoney->toFormat($basketItem['price'], $currencyConvert) . ' </td>'; } else { echo '<td class="cart-item-price"> - </td>'; } echo '<td class="cart-item-quantity"><input type="text" class="jsQuantity input-quantity" value="' . $basketItem['quantity'] . '" /></td>'; if ($basketItem['price']) { echo '<td class="jsSubtotal">' . $this->app->jbmoney->toFormat($subtotal, $currencyConvert) . '</td>'; } else { echo '<td> - </td>'; } echo '<td class="cart-item-rembtn"><input type="button" class="jbbutton jsDelete" itemid="' . $item->id . '" value="' . JText::_('JBZOO_CART_DELETE') . '" /></td>'; echo "</tr>\n"; } ?> </tbody> <tfoot> <tr> <td colspan="5" class="right"><strong><span id="summ_delivery_label">Доставка:</span></strong></td> <td> </td> <td><span id="summ_delivery">0 р.</span></td> <td> </td> </tr> <tr> <td colspan="5" class="right"><strong><span id="summ_delivery_label"><?php echo JText::_('JBZOO_CART_TOTAL'); ?>:</span></strong></td> <td class="jsTotalCount"><?php echo $count; ?></td> <td class="jsTotalPrice"><span id="summ_full"><?php echo $this->app->jbmoney->toFormat($summa, $currencyConvert); ?></span></td> <td> <input type="button" class="button-default jsDeleteAll" value="<?php echo JText::_('JBZOO_CART_REMOVE_ALL'); ?>"/> </td> </tr> </tfoot> </table> </div>
Т.е. это таблица (table, tbody, theader, etc.)
Мобильный шаблон сайта и так имеет кучу уникальных классов, так что стили привязать к ним - не проблема.
Но! пока корзина именно в виде таблицы, возможности здорово ограничены: я не могу растянуть ячейку на 100% ширины экрана, например, т.к. рядом другие ячейки имеются.
Цель:
В мобильной версии корзина должна отображаться не таблицей, а просто в блоках div, т.е. div для названия товара, div для цены и т.д.
Отправлено 02 February 2015 - 10:51
Вы же видите:
<table class="jbbasket-table jsJBZooBasket">
и прочие td ... переверстайте на div'ах, если конечно получится с mobile detect.
А вообще да, таблица менее гибкая, но все же почти все, что угодно можно через CSS же ей придать и скрыть.
<?php if ($tpl->isMobile()) : ?> <!-- only for mobiles --> <? endif; ?> <?php if ($tpl->isTablet()) : ?> <!-- only for tablets --> <? endif; ?>
Сообщение отредактировал CB9TOIIIA: 02 February 2015 - 11:18
JBZoo чат /
Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
Отправлено 02 February 2015 - 10:52
корзина должна отображаться не таблицей, а просто в блоках div
Извините,если не верно что-то понимаю, но что мешает переопределить шаблон вывода корзины?
Сообщение отредактировал Ursa: 02 February 2015 - 10:53
Отправлено 03 February 2015 - 18:48
Извините,если не верно что-то понимаю, но что мешает переопределить шаблон вывода корзины?
Скрипты, например. Они к нему жестко привязаны. И классам вроде jsJBZooBasket.
"Это бессмысленно" - сказал разум. "Это нелепо" - заметил опыт. "Это бесполезно" - отрезал здравый смысл. "О! Вот так нормально!" - обрадовался клиент.