27 апреля 2018

Предлагаю самый простой способ проверить количество обращений к БД (базе данных) на странице фреймворка Webasyst. При разработке темы дизайна данная проверка крайне необходима. Так как позволяет создать тему максимально оптимизированной и учесть свои ошибки. Но и для владельцев интернет-магазинов информация об обращениях к базе данных также будет важна, чтобы не нагружать хостинг лишними запросами и ускорить свой проект. 

Читать далее →
Теги: webasyst

12 апреля 2018

Пример как вывести стандартное окно webasyst на фронтэнде

<a href="#" class="ourstores dotted">наши магазины</a>
{literal}
<script type="text/javascript">
$('.ourstores').click(function(){
    $('<div><h2>Наши магазины</h2><p>Список магазинов</p></div>').waDialog({
      'buttons': '<input type="submit" value="Закрыть" class="button" />',
      'height': '300px',
      'width': '600px',
      //'title': 'Наши магазины',
      onSubmit: function (d) {
           d.trigger('close');
           return false;
      }
    });
});
</script>
{/literal}
{*$wa->globals('isMyAccount')*}{* условие для личного кабинета *}
{*$wa->currentUrl(false)*}{* URL текущей страницы относительный ( true - прямой )*}


12 апреля 2018

Плагин для вынесения заголовков в список для больших постов в приложении блог. Необходим облегчить навигацию по странице. Список по заголовкам выводиться наверху страницы 

Читать далее →

12 апреля 2018
{$products = $wa->shop->productSet("na-drovakh")}
{include file="`$wa->shop->themePath('samovar-shop-21')`list-thumbs.html" products=$products}

12 апреля 2018

Примеры регулярных выражений в smarty

{$post.text|regex_replace:"/<(?!h1|\/h1|h2|\/h2|h4|\/h4|h3|\/h3|h5|\/h5)[^>]*>(.*)/":""}
{$post.text|regex_replace:"/<p.*?>(.*)<\/p>[^>]/":""}
{$post.text|regex_replace:"/<(!?p|\/p)[^>]*>(.*)/":""}

12 апреля 2018

Для этого возьмем уже готовую функцию для склонения числительных на PHP, и зарегистрируем её в Smarty, чтобы можно было делать склонение числительных smarty.

//Немного модифицируем первоначальную функцию, чтобы она работала в Smarty
function declOfNum($params)
{
    $number=$params['n'];
    $titles=$params['t'];
    $cases = array (2, 0, 1, 1, 1, 2);
    return $number." ".$titles[ ($number%100>4 && $number%100<20)? 2 : $cases[min($number%10, 5)] ];
}
//а теперь зарегистрируем в Smarty
$smarty->register_function("decl_of_num", "declOfNum");

Готово! Теперь будет работать склонение числительных smarty.
Вызывать будем вот так:

{$titles[0]='товар'}
{$titles[1]='товара'}
{$titles[2]='товаров'}
{decl_of_num n=$count_of_goods t=$titles}

12 апреля 2018

В данном примере массив данных smarty для брендов разбивается на блоки по алфавиту. Поддерживает как английский, так и кириллицу. Данное решение можно использовать практически для любого массива smarty.

Читать далее →
Теги: smarty, webasyst

11 апреля 2018

Часто для больших сайтов встает проблема с добавлением описания в мета-тег Desciption. Предлагаю решение, которое упростит жизнь для многих владельцев сайтов Webasyst. Привожу пример для подстраниц товара.

В теме дизайна добавляете в шаблон в самом верху страницы

product.page.html

{$desc = "`$page.title` для товара `$product.name`"}
{$wa->meta('description', $desc)}

Тем самым вы переопределяете стандартный вывод meta Desciption и задаете свои правила формирования тега для всех страниц. Пример как это может выглядеть: <meta name="Description" content="Область применения для товара Светильник подвесной CLG0030160E27" />

Теги: smarty, webasyst

11 октября 2017

Данное решение является универсальным. Чтобы заработало, достаточно добавить класс dropdown в нужное место вашей страницы. Всплывающий блок появляется при клике по ссылке. Закрывается по клику вне блока.

Читать далее →
Теги: JQuery, script, Dropdown

19 августа 2017

Бывают случаи, когда требуется получить высоту изображения, чтобы при загрузке страницы верстка "не прыгала". Это можно решить с помощью скрипта на JQuery.

$(document).ready(function() {
  $(".promos img").load(function() {
  var height = $(this).height();
  var width = $(this).width();
  $(this).css("height", height);
  });
});
Теги: JQuery