{if $product->getCost('Старая цена (для сайта)')>0&&$product->getCost('Старая цена (для сайта)', null, false) != $product->getCost('Розничные цены - по заказам', null, false)}<span class="lastPrice_catalog">{$product->getCost('Старая цена (для сайта)')} ք</span>

чего-то мне не нравится отсутствие пробелов до и после &&
и не закрытый {if}

227

(5 ответов, оставленных в Вопросы по работе с системой)

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

спасибо, работает

Закусило Александр пишет:
Владимир 1916 пишет:

teplo.ru

Проинспектируйте с помощью firebug верстку. Там сразу будет видно откуда "ноги растут". У вас подключено и mobile.css и 720.css
Посмотрите даже исходный код страницы.

Это рабочий сайт, с него заказы идут, я не могу оставить на нем "кривую верстку", поэтому в данный момент они подключены.

И да. Еще по поводу мобильных версий.

Разрешение экрана в пикселях
1080*1920

Разрешение экрана браузера в пикселях
360*559

......

Device Pixel Ratio: 3.000

Это именуется Retina. https://habrahabr.ru/post/139682/

И мобильная версия темы Perfume под это не адаптирована. При просмотре с моего смартфона (и я думаю, что со всех где Retina) картинки расплываются и выглядят отвратительно.
Для логотипа специально загрузил картинку в три раза большего размера (714*216) и в шаблоне вручную прописал.

<img src="/storage/system/original/logo.png" width="238" height="72" alt="тепло.ру"/>

видимо, нужно то же самое сделать везде, где есть картинки. sad

Собственно это одна из причин желания отключить мобильную версию. Хоть и не основная.

teplo.ru

отправил на почту, тут скриншот у меня не вставляется что-то

233

(12 ответов, оставленных в Вопросы по созданию тем оформления)

У меня так:

Товар1 находится в скрытой подкатегории Подкатегория1, которая находится в Категории1.
Я перехожу в карточку товара Товар1 из Категории1, минуя Подкатегорию1, т.к. она скрытая.
А хлебные крошки в карточке товара Товар1 выглядят так
Главная > Категория1 > Подкатегория1

Я хочу сделать чтобы было Главная > Категория1 и все.
Потому что не хочу, чтобы пользователи могли перейти в скрытую подкатегорию. Эта подкатегория создана в "технических" целях, не для посетителей.

Как сделать, чтобы для товаров в хлебных крошках показывать только Товарные категории 1-го уровня?
Т.е. Главная > Категория1

и всё. Все что ниже уровнем не показываются вовсе. Даже если реально товар находится Главная > Категория1 > Подкатегория1, показываем Главная > Категория1

Тема Perfume. В шаблоне два файла:

breadcrumbs.tpl

{assign var=bc value=$app->breadcrumbs->getBreadCrumbs()}
{if !empty($bc)}
<ul class="breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#">
    {foreach $bc as $item}
        {if empty($item.href)}
            <li {if $item@first}class="first"{/if} typeof="v:Breadcrumb">
                <span property="v:title">{$item.title}</span>
            </li>
        {else}
            <li {if $item@first}class="first"{/if} typeof="v:Breadcrumb">
                <a href="{$item.href}" {if $item@first}class="first"{/if} rel="v:url" property="v:title">{$item.title}</a>
            </li>
        {/if}
    {/foreach}
</ul>
{/if}

и breadcrumbs_center.tpl

{assign var=bc value=$app->breadcrumbs->getBreadCrumbs()}
{if !empty($bc)}
<div class="oh">
    <div class="centered">
        <ul class="breadcrumbs">
            {foreach $bc as $item}
                {if empty($item.href)}
                    <li {if $item@first}class="first"{/if}>{$item.title}</li>
                {else}
                    <li {if $item@first}class="first"{/if}>
                        <a href="{$item.href}" {if $item@first}class="first"{/if}>{$item.title}</a>
                    </li>
                {/if}
            {/foreach}
        </ul>
    </div>
</div>
{/if}
Закусило Александр пишет:

Да. Нужно убрать CSS который отвечает за реакцию при уменьшении экрана. В файле layout.tpl в этой теме оформления(perfume) есть строки:

{addcss file="720.css?v={$css_version}"}
{addcss file="mobile.css?v={$css_version}"}

Попробуйте их убрать я думаю, всё получится.

Только не забудьте эту тему оформления отклонировать, если у Вас это не сделано, ато при обновлении файл перезатрётся.

Пробовал отключить мобильную версию указанным способом - нужного эффекта нет, верстка поплыла.

Закусило Александр пишет:

Зайдите с телефоне на ссылку ниже. Он Вам покажет, что сообщает браузеру.
http://myresolutionis.ru/

Разрешение экрана в пикселях
1080*1920

Разрешение экрана браузера в пикселях
360*559

......

Device Pixel Ratio: 3.000

http://htmlbook.ru/css/value/media

Все запросы начинаются с правила @media, после чего следует условие, в котором используются типы носителей, логические операторы и медиа-функции. Типы носителей перечислены в табл. 1.

handheld     Смартфоны и аналогичные им аппараты.

т.е. зависит не только от ширины экрана в пикселях, но и от типа устройства.

Закусило Александр пишет:

Имеет значение только ширина в пикселях? Или в дюймах тоже?

В пикселях. Дюймы не играют значение. Играет значение разрешение экрана, а не его размер. У Вас допустим экран 27дюймов. Но ничего не мешает Вам сделать разрешение 800 на 600 пикселей. Что делать в этом случае?

Ну, а как же на других сайтах?

В адаптивном дизайне 95% сайтов делают также. У Яндекса тоже нет ничего в дюймах. Вы можете переписать всё на дюймы. http://dnzl.ru/view_post.php?id=268

Хм. Тогда не понимаю. У меня у смартфона Meizu m3 note разрешение экрана 1920x1080 пикс, а показывает мобильную (одноколоночную) версию, даже если горизонтально его держать. И для Яндекса этот телефон тоже показывает мобильную версию.
Или у меня какие-то неправильные пиксели?
Тема Perfume.

Имеет значение только ширина в пикселях? Или в дюймах тоже?

Ну, а как же на других сайтах? На том же Яндексе, например. Никаких проблем найти, где "переключать".

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

Например, контакты, новости, статьи удобней на мобильной версии смотреть, а фильтрами подбирать - на полной.
Кроме того, некоторые планшеты определяются как мобильный, а размер экрана этого планшета вполне позволяет смотреть полную версию, которая намного удобней.

241

(50 ответов, оставленных в Вопросы по работе с системой)

Спасибо!

242

(50 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:
{$page_href=preg_replace('/\[\d+?\]/i', '[]', urldecode($page.href))}  

Т.е. мы предварительно раскодировали для преобразования.

при возврате на первую стр. дает ссылку /?pf[][]=16
поменял регулярное выражение на {$page_href=preg_replace('#]\[\d+]#', '][]', urldecode($page.href))} 

остался вопрос с назад/вперед

<a href="{$paginator->getPageHref($paginator->page-1)}" class="prev" title="предыдущая страница">&laquo;<span class="text"> назад</span></a>

такую конструкцию {$paginator->getPageHref($paginator->page-1)} как заменить, например?

243

(50 ответов, оставленных в Вопросы по работе с системой)

Вчера советовался на другом форуме, диагноз такой, что preg_replace в Smarty работать не хочет.

http://searchengines.guru/showthread.php?t=947126

244

(50 ответов, оставленных в Вопросы по работе с системой)

Проверял этим сервисом https://ru.functions-online.com/preg_replace.html
- показывает [] как нужно.

А что на локальном сайте, что на хостинге остается [0]

245

(50 ответов, оставленных в Вопросы по работе с системой)

Вставил {$page_href=preg_replace('/\[\d+?\]/i', '[]', $page.href)}  после {foreach from=$paginator->getPageList() item=page}

Никакого эффекта. [0], [1] как были так и остались для страниц 1,2,3:
/?bfilter[brand][0]=16&bfilter[brand][1]=13
/?bfilter[brand][0]=16&bfilter[brand][1]=13&p=2
/?bfilter[brand][0]=16&bfilter[brand][1]=13&p=3

кэш чистил, шаблон 100% тот, т.к. сперва ругалось на недостающую ) в {$page_href=preg_replace('/\[\d+?\]/i', '[]', $page.href}

246

(50 ответов, оставленных в Вопросы по работе с системой)

Закусило Александр пишет:

Шаблон нам нужен paginator.tpl он в корне темы.
Заменить можно примерно так:

{$url=preg_replace('/\[\d+?\]/i', '[]', $url)}

По идее должно сработать.

Что-то я не пойму, как это вставить в шаблоне.

{if $paginator->total_pages>1}
        <div class="paginator">
            {if $paginator->showFirst()}
            <a href="{$paginator->getPageHref(1)}" class="first" title="первая страница">&laquo;</a>
            {/if}
            {if $paginator->page>1}
            <a href="{$paginator->getPageHref($paginator->page-1)}" class="prev" title="предыдущая страница">&laquo;<span class="text"> назад</span></a>
            {/if}
            {foreach from=$paginator->getPageList() item=page}            
            <a href="{$page.href}" {if $page.act}class="act"{/if}>{if $page.class=='left'}&laquo;{$page.n}{elseif $page.class=='right'}{$page.n}&raquo;{else}{$page.n}{/if}</a>
            {/foreach}
            {if $paginator->page < $paginator->total_pages}
            <a href="{$paginator->getPageHref($paginator->page+1)}" class="next" title="следующая страница"><span class="text">вперед</span> &raquo;</a>
            {/if}
            {if $paginator->showLast()}
            <a href="{$paginator->getPageHref($paginator->total_pages)}" class="end" title="последняя страница">&raquo;</a>
            {/if}
        </div>
{/if}

Нужно вместо {$page.href} вставить {$page.href=preg_replace('/\[\d+?\]/i', '[]', $page.href)}     ?


По-всякому пробовал, что-то ничего не выходит. Объясните, пожалуйста, поподробней.

247

(3 ответов, оставленных в Вопросы по работе с системой)

Сделать для главной отдельный шаблон.
В шаблоне для всех остальных сделать соответствующие правки. Думаю, как-то так.

248

(50 ответов, оставленных в Вопросы по работе с системой)

Я совсем не против, чтобы [] было. Только должно быть везде одинаково.
Чтобы не получилось, что я сейчас все страницы сделаю [], а потом выйдет обновление системы, где [0], [1]... и настраивай редиректы.

Если я правильно понял, решение принято и в дальнейшем обновлении будет везде []?

249

(50 ответов, оставленных в Вопросы по работе с системой)

попробовал так

queryStr += valuesArray[nval]['name'].slice(0, -2)+"["+[nval]+"]"+"="+encodeURIComponent(valuesArray[nval]['value']);

т.е. [] обрезаем, а добавляем [0], [1] и т.п.

на локалке прокатило, а на хостинге вызвало зависание сайта.
Так наверное, нельзя делать?
Может в какой-то другой массив передать, а оттуда уже в строку подставлять?

250

(50 ответов, оставленных в Вопросы по работе с системой)

Это кусок кода из jquery.filters.js
 

var buildFilterUrl = function(valuesArray){
                //Разберём для построения
                queryStr = "";                 //Строка запроса
                valcnt   = valuesArray.length; //Количество фильтров    
                
                for(nval in valuesArray){      //Составим запрос
                    queryStr += valuesArray[nval]['name']+"="+encodeURIComponent(valuesArray[nval]['value']);
                    if (nval<valcnt-1){
                       queryStr += "&"; 
                    }
                }
                url = "//"+document.location.hostname+document.location.pathname;  //url для подстановки в браузер
                if (valcnt>0){
                   url +="?"+queryStr; 
                }
                
                return url;
            };         

Можно как-то значение nval отсюда вытаcкивать и передавать в шаблон filters.tpl
?



Тогда я смогу сделать, что если выбран только один параметр (т.е. nval == 0) то в шаблоне вставлять
name="bfilter[brand][0] вместо name="bfilter[brand][]

а если nval > 0 то оставляю name="bfilter[brand][]