1,276

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

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

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

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

Да. Правда я ещё не пробовал конструкции относящиеся к типу устройства, если честно.
https://webref.ru/css/media

1,277

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

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

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

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

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

1,278

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

Отображение информации построено на технологии @media query.
Это значит, что Ваш браузер выдаёт какая ширина у Вас экрана и проверяет как для этой ширины экрана в пикселях отображать сайт. А не от того мобильный он или нет.
Вы можете в браузере сжать свой экран на компьютере и увидите, что будет происходить.
Вы можете перелопатить CSS файлы и убрать правила сжатия для каталога. Или поставить их на другую ширину.
Либо можно придумать как вы готоворите переключатель. Ставить галочку в сессии и в файле layout.tpl проверять установлен ли флаг в сессии, и если да то тогда файлы сжатия не подключать. Но ведь тут ещё играет роль и размер экрана. Ведь вы откроете в этом случае с телефона и там будет не вмещаться контент и надо искать Вашу галочку. Поэтому я смутно представляю реализацию.

1,279

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

Также как и в пошлый раз.

{$page_prev=preg_replace('#]\[\d+]#', '][]', urldecode($paginator->getPageHref($paginator->page-1)))}  

1,280

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

{$total_cost_string=str_replace(['рубля', 'рублей', 'рубль', 'копеек', 'копеекa', 'копееки'], ['тенге', 'тенге', 'тенге', 'тиын', 'тиын', 'тиын'], $total_cost_string)}
<p class="aright itogo"><b>{$total_cost_string}</b></p>

Ищите последнюю строку.

<p class="aright itogo"><b>{$total_cost_string}</b></p>

1,281

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

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

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

Это полная чушь. У нас смарти последней версии и всё там прекрасно работает. Пусть читают документацию к Smarty 3.0.
http://www.smarty.net/docs/en/
И если они не знают, то через "." (точку), то это обращение к объекту как к массиву. А то что \Вам советовали {php} ..., то он в состоянии depricated. Т.е. скоро будет удалено.

Хотел было им написать что они не правы, но оба моих ящика оказались у них в игнор листе smile. Не понимаю как, если я у них раньше никогда не регистрировался. smile


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

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

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

/catalog/elektronika/?bfilter%5Bbrand%5D%5B0%5D=3&bfilter%5Bbrand%5D%5B1%5D=5&bfilter%5Bbrand%5D%5B2%5D=1&bfilter%5Bbrand%5D%5B3%5D=2&bfilter%5Bbrand%5D%5B4%5D=4&bfilter%5Bbrand%5D%5B5%5D=6&bfilter%5Bbrand%5D%5B6%5D=7&bfilter%5Bbrand%5D%5B7%5D=8&bfilter%5Bbrand%5D%5B8%5D=9&bfilter%5Bbrand%5D%5B9%5D=10&bfilter%5Bbrand%5D%5B10%5D=11&bfilter%5Bbrand%5D%5B11%5D=12&p=2

Т.е. [ это %5B ] это %5D, потому, что это правильная кодировка адресов через urlencode. Соответственно правильно будет так:

{$page_href=preg_replace('/\[\d+?\]/i', '[]', urldecode($page.href))}  

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

P.S. Мы всегда поддерживаем только одни из самых последних технологий.

1,282

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

Извиняюсь что опять прошу помочь.
Не могли бы мне подсказать или помочь как правильно ее реализовать?

В шаблоне товарного чека за вывод строки с ценой отвечает {$total_cost_string}.
Соответственно переназначить можно так:

{$total_cost_string=str_replace(['рубля', 'рублей', 'рубль', 'копеек', 'копеекa', 'копееки'], ['тенге', 'тенге', 'тенге', 'тиын', 'тиын', 'тиын'], $total_cost_string)}

Подскажите еще пожалуйста. Можно ли в таблицу документа Товарный чек, вывести значение характеристики?
Я хочу добавить характеристику "Гарантия" к товарам и добавить колонку срок гарантии в документе Товарный чек.
Если такое возможно, подскажите как.

Скорее всего:

{assign var=product value=$products[$n].product}

Меняем на:

{assign var=product value=$products[$n].product}
{$product->fillProperty()|devnull}

А где надо вывести значение характеристики:

{$product->getPropertyValueByTitle('Название нужной характеристики')}

1,283

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

Прочел.
А если в 1С значения идут не списком значений, а строкой, в этом случае, видимо, работать не будет? У меня они не разносятся почему-то.
Или это только после повторной выгрузки происходит?

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

1,284

(16 ответов, оставленных в Вопросы по разработке модулей и API системы)

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

А Вы не рассматриваете модуль правила для корзины?
http://marketplace.readyscript.ru/addons/cartrules/

1,285

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

Конечно. Почему нет.

1,286

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

Получилось!!! Спасибо большое!!!
Получается письменно сумму итого реализовать не получится?
Можете поискать функцию преобразования для Казахстана. У нас пока есть только для России. Либо можно на время перегрузить класс через .my.inc.php и добавить туда тенге.
Но это нужен доступ к FTP на сайт.

1,287

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

Спасибо Вам большое Александр!
А насчет валюты: тенге у меня стоит основной, тг выводит везде и в товарном чеке в таблице, только одна строка не меняется автоматически (тридцать три тысячи триста рублей 00 копеек) которая идет после таблицы.

Это уже относится не в total_cost напримую. Там строка преобразуется именно в русский формат и там жестко зашита валюта. Строку с её выводом лучше в Вашем случае убрать.

А насчёт остального в товарном чеке попробуйте поменять.

{foreach $order_data.items as $item}
                    {$product=$item.product}

на

{foreach from=$order_data.items key=n item=item}
            {assign var=product value=$products[$n].product}

1,288

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

Александр, пока только шрифтов не хватает))
Большое спасибо за развернутый ответ. Буду пробовать.
Денежку не жалко заплатить, просто у вас там очередь на 2 недели тянется. Не хочется из-за каждой мелочи столько ждать. Вот и появилось желание самому попытаться сделать.
Еще раз благодарю.
Храни Вас Бог))

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

1,289

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

Для общего развития...
https://www.youtube.com/watch?v=dknwEyx_s0Q

1,290

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

Печально. Интересно, за что тогда отвечает та галочка в 1С..

Вам на это ответит программист 1С.

1,291

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

Такой вопрос..
При выгрузке характеристик из 1С они получают тип:Строка.
Для отображения фильтра (с чекбоксом) приходится ручками поменять значения. Можно ли выставить где-то тип данных по-умолчанию?

Нет. Нужно один раз в разделе Товары->Характеристики поменять тип нужной характеристики на список. И он запомнится навсегда.

И второй вопрос, можно ли использовать разделитель значений в списке характеристик? Например, разделяя значения запятой, чтобы в фильтре они разносились на разные строки и при этом фильтр работал должным образом?
Или как тогда правильно заводить характеристики в 1С, чтобы у одного товара у одной характеристики могло быть несколько значений и они разносились по строкам?

Да в значения свойства в 1С можно писать например: Белый;Желтый и т.д.
Читаем документацию:
https://readyscript.ru/manual/catalog_u … tiproperty

1,292

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

Попробуйте так для страниц:

{foreach from=$paginator->getPageList() item=page}        
     {$page_href=preg_replace('/\[\d+?\]/i', '[]', $page.href}    
     <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}

Смотрите кусок кода:
{foreach from=$paginator->getPageList() item=page}

1,293

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

Не по делу:
Я когда начал читать думал будет что-то типо... Братан 10 рублей на поесть добавь smile . Шучу.

По делу:
Вообще для нормальных правок лучше время не тратить, а заплатить небольшую денежку и Вам всё сделают как надо.
Ну а если есть большое желание, то заходим на сервис google.
https://fonts.google.com/?subset=cyrill … popularity
Плюсом добавляем понравившееся.
Справа внизу после добавления появится кликабельное окошко.  При нажатии на него выскочит окно с примером добавления этого шрифта.
Например, для файла стилей style.css это конструкция @import.

@import url('https://fonts.googleapis.com/css?family=Open+Sans');

Её надо добавить в самый верх файла styles.css Вашей темы. Это позволит догружать этот шрифт в ваши темы. А далее везде где есть.

font-family: Что-нибудь;

Меняем на, то что будет предложено гугл.
Например:

font-family: 'Open Sans', sans-serif;

Единственное там в этом окошке есть ещё вклакда CUSTOMIZE. В ней находятся галочки, которые включают поддержку разных стилей этого шрифта. Если их отметить которые нужно, то конструкция @import изменится.
Обычно нужны все regular и bold конструкции. Ну а чтобы у нас ещё и русские буквы поддерживались то включим ещё и Cyrrilic.

1,294

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

И не могу найти как изменить эту функцию {$order_data.total_cost}
В ней надо поменять рубли на нашу валюту.

Вам надо отключить форматирование которое добавляет Валюту. В товарном чеке есть строка:

{assign var=order_data value=$cart->getOrderData(true, false)}

Первый аргумент отвечает за форматирование.
Соответственно меняем на:

{assign var=order_data value=$cart->getOrderData(false, false)}

Валюта уйдёт. И надо там где выводится какая либо цена добавить модификатор format_price. Например:

{$order_data.total_cost|format_price}

Она превратит  1500.00 в 1 500.
А валюту можно вручную дописать.

P.S. А вообще вы могли сделать валюту по умолчанию тенге у себя в Валютах и продавали бы в тенге. И везде бы было тенге.

1,295

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

Помогите пожалуйста. Ато чето у меня не получается.

Вам нужно было просто взять кусок кода из этого места и вставить в другой шаблон.
А именно из листа доставки взять:

{if !empty($item.cartitem.model)}Модель: {$item.cartitem.model}{/if}
                    {if $product.multioffers.use}
                        <div class="parameters">
                            
                               {assign var=multioffers_values value=unserialize($item.cartitem.multioffers)} 
                                {foreach $product.multioffers.levels as $level}
                                    {foreach $level.values as $value}
                                        {if $value.val_str == $multioffers_values[$level.prop_id].value}   
                                            <div class="offer_subinfo"> 
                                              {if $level.title}{$level.title}{else}{$level.prop_title}{/if} : {$value.val_str}
                                            </div>
                                        {/if}
                                    {/foreach}
                                {/foreach}
                            
                        </div>
                    {/if}

И в товарном чеке заменить:

{if !empty($item.cartitem.model)}<div>Модель: {$item.cartitem.model}</div>{/if}   

На:

<div>
{if !empty($item.cartitem.model)}Модель: {$item.cartitem.model}{/if}
                    {if $product.multioffers.use}
                        <div class="parameters">
                            
                               {assign var=multioffers_values value=unserialize($item.cartitem.multioffers)} 
                                {foreach $product.multioffers.levels as $level}
                                    {foreach $level.values as $value}
                                        {if $value.val_str == $multioffers_values[$level.prop_id].value}   
                                            <div class="offer_subinfo"> 
                                              {if $level.title}{$level.title}{else}{$level.prop_title}{/if} : {$value.val_str}
                                            </div>
                                        {/if}
                                    {/foreach}
                                {/foreach}
                            
                        </div>
                    {/if}
</div>

1,296

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

Есть товары для которых установлен статус "под заказ". Можно настроить сортировку товаров так, чтобы товары на заказ отображались в конце списка?
Например, выбираем любую категорию, потом производителя - выводится полный список: можно в нем товары, которых нет в наличии отсортировать в конец списка?

В блоке фильтров включите показ фильтра по наличию.

1,297

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

Ну или списковую. И если хочет то получает упаковки где 2 метра. А если хочет, то упаковки где 1 метр.

1,298

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

Так не получится. Т.к. это совершенно разные цены. Надо какую-то одну цену выбрать. Можно сделать числовую характеристику с метрами и добавить по ней фильтр. Я думаю так будет правильней всего.

1,299

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

А что за ситуация у Вас с квадратными метрами. И зачем фильтровать по квадратным метрам, а продавать упаковками? Просто там же цены всё равно разные.

1,300

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

Фильтр доступен только по одной цене, которая является ценой по умолчанию. Т.е. в дефолте нет. Можно дописать свой модуль который будет выводит нужное. Но очень много всяких подводных камней.