176

(0 ответов, оставленных в Предложения по улучшению системы)

Считаю, нужно предусмотреть возможность менять дату в товарном чеке.
Сейчас он печатается датой оформления заказа (печатаю из админки).
А дата отгрузки может с датой оформления заказа не совпадать.
Иногда спустя 5 дней, например, отгрузка происходит.

Как изменить вывод категорий в которых есть товары производителя на странице бренда?

В том плане, что если сделать в качестве подкатегорий бренды, то на странице бренда пишется только название конечной категории, т.е. сам бренд.
Например http://middle.readyscript.ru/brand/panasonic/
Если товары производителя размещены в нескольких категориях, то вообще чушь получается:

КАТЕГОРИИ ТОВАРОВ PANASONIC
Panasonic
Panasonic
Panasonic

Как вывести еще название всех предшествующих категорий? По типу как сделаны хлебные крошки.

Сейчас так

<div class="brandDirs">
            <h2>Категории товаров {$brand.title}</h2>
            <ul class="cats {$widthClass}">
             {foreach $dirs as $dir}
                <li>
                    <a href="{$router->getUrl('catalog-front-listproducts',['category'=>$dir._alias,'bfilter'=> ["brand" => [$brand.id]]])}">{$dir.name}</a> <sup>({$dir.brands_cnt})</sup>
                </li>
             {/foreach}
            </ul>
        </div>

Увы, я не понимаю даже половину из того, что Вы написали. Видимо, придется искать исполнителя.

Т.е. нужно вверху шаблона вставить

{static_call var=brand callback=['\Catalog\Model\Orm\Brand', 'loadByWhere'] params=[[а тут что писать???]]}

?

в шаблон  \templates\perfume-my\moduleview\catalog\blocks\category\category.tpl

вставляю код

{foreach $brands as $brand}
                {var_dump($brand)}
                
    
   {/foreach}

Ничего не выводит. Совсем ничего.

Может нужно вверху шаблона добавить еще что-то?

Спасибо, буду пробовать.

Владимир 1916 пишет:

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

Попробовал, перехода нет. Но, тогда, в моем случае, это то же, что и просто подкатегория.

А мне нужно, чтобы в этой подкатегории были все возможные фильтры от Верхней (основной) категории. И в фильтре по товарам стояла галочка. Вот чего хочу добиться. Так даже лучше, чем вариант в стартпосте, т.к. можно задать нормальный человеческий URL, и с описанием, метатегами и XML проблем нет.

Можно так сделать?

Сергей пишет:
Владимир 1916 пишет:

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

Извините, вмешаюсь не совсем по вашему вопросу, а больше по вашей задумке.
Т.е. вы хотите, что-бы человек при переходе из поисковика по запросу производителя, попадал сразу на каталог товара, а не в карточку этого самого производителя?

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

Вбивая в поиске запрос "купить сматфон Самсунг" вы хотите попасть на страницу с товарами, а не с историей компании Самсунг. Это первое.

Второе. Если входная (посадочная) страница - карточка бренда, то ее нужно оптимизировать под множество запросов "стиральная машина самсунг, телевизор самсунг, планшет самсунг и т.п.". А это не правильно. Правильней под каждый такой запрос оптимизировать свою отдельную страницу.

И третье. Будет трудно продвинуть по запросу карточку производителя, т.к. с внутренних страниц на нее будет мало кто переходить, и совсем мало кто задерживаться, поэтому ПФ будут слабыми. Ссылки на карточку бренда идут не со всех страниц, а только с карточек соответствующего товара, с Главной и со страницы Все производители. А, по-хорошему, сделать ссылки сквозными со всех страниц.  В том числе со страниц категорий (да так, чтобы по ним и кликали еще).

В принципе, карточку бренда можно и оставить, но продвигать ее только по самым ВЧ запросам. С которых, правда, продаж будет мало.

Как можно в категориях вывести бренды, которые в ней находятся? Вместо подкатегорий, их (подкатегорий) нет.

Т.е. в шаблонах\templates\perfume\moduleview\catalog\blocks\category\category.tpl вывести категории первого уровня, а вместо подкатегорий - бренды которые в них есть (название и ссылка на страницу этой категории с выбранным брендом). Например /catalog/termoregulyatory/?bfilter[brand][]=30

И то же самое в шаблоне \templates\perfume\moduleview\catalog\list_products.tpl

вместо

 <nav class="subCategory">
        {foreach $sub_dirs as $item}
        <a href="{urlmake category=$item._alias p=null pf=null bfilter=null}">{$item.name}</a>
        {/foreach}
    </nav>

вывести бренды.

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

Максим пишет:

Просто "ямаха" - неудачный пример.
Таких подкатегорий будет много (под каждую модель мотоцикла) То есть открыл покупатель карточку товара, увидел в ней что этот аккумулятор подходит к 3 моделям разных мотоциклов, кликнул на одну из них и перешел на страницу со всеми зап. частями для этой модели мотоцикла.

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

Создаете две основные ветки каталога:
Категории товара и Модели мотоцикла
И в них уже делаете подкатегории:
Категории товара
Аккумуляторы, бензобаки, шины и т.п.

Модели мотоцикла
Yamaha1, Yamaha2, Yamaha3 и т.п.

Осталось вывести в шаблоне товара перечень всех категорий в которых он есть. Как-то так.

Примерно как тут https://www.dinomama.ru/ правда это, кажется не RS.

186

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

Да, понял. Просто в шаблоне убираю проверку     {if $shop_config}  тогда работает. Спасибо.

187

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

{$check_quantity=$shop_config->check_quantity}
{$imagelist=$product->getImages(false)}
<li {$product->getDebugAttributes()} data-id="{$product.id}" {if count($imagelist)>1}class="photoView"{/if}>
    <div class="hoverLayer">
        <div class="gallery{if count($imagelist)>3} scrollable{/if}">
            <a class="control up"></a>
            <a class="control down"></a>
            <div class="scrollBox">
                <ul class="items">
                    {foreach $imagelist as $n=>$image}
                    <li data-change-preview="{$image->getUrl(226,236)}" {if $image@first}class="act"{/if}><a href="{$product->getUrl()}#photo-{$n}" class="imgWrap"><img src="{$image->getUrl(56, 56)}" alt="{$image.title}"/></a></li>
                    {/foreach}
                </ul>
            </div>
        </div>
        <div class="underMain">
            {hook name="catalog-list_products:blockview-buttons" title="{t}Просмотр категории продукции:кнопки, блочный вид{/t}"}
                {if $shop_config}
                    {if $product->shouldReserve()}
                        <a data-href="{$router->getUrl('shop-front-reservation', ["product_id" => $product.id])}" class="inDialog reserve">Заказать</a>
                    {else}        
                        {if $check_quantity && $product.num<1}
                            <span class="unobtainable">Нет в наличии</span>
                        {else}
                            {if $product->isOffersUse() || $product->isMultiOffersUse()}
                                <span data-href="{$router->getUrl('shop-front-multioffers', ["product_id" => $product.id])}" class="cartButton showMultiOffers inDialog noShowCart">В корзину</span>
                            {else}
                                <a data-href="{$router->getUrl('shop-front-cartpage', ["add" => $product.id])}" class="cartButton addToCart noShowCart" data-add-text="Добавлено">В корзину</a>
                            {/if}                        
                        {/if}
                        
                    {/if}
                {/if}
                {if $THEME_SETTINGS.enable_compare}
                    <a class="compare{if $product->inCompareList()} inCompare{/if}" data-title="{t}К сравнению{/t}" data-already-title="{t}В сравнении{/t}"><span></span><span class="already"></span></a>
                {/if}
                {if $THEME_SETTINGS.enable_favorite}
                    <a class="favorite inline{if $product->inFavorite()} inFavorite{/if}" data-title="{t}В избранное{/t}" data-already-title="{t}В избранном{/t}"><span></span><span class="already"></span></a>
                {/if}
            {/hook}
        </div>
    </div>
    <div class="mainLayer">
        {$main_image=$product->getMainImage()}
        <a href="{$product->getUrl()}" class="image"><span class="markers">{if $product->inDir('new')}<img src="{$THEME_IMG}/newest.png" alt=""/>{/if}</span>
        <img src="{$main_image->getUrl(226, 236)}" class="middlePreview" alt="{$main_image.title|default:"{$product.title}"}"/></a>
        {hook name="catalog-list_products:blockview-title" title="{t}Просмотр категории продукции:название товара, блочный вид{/t}"}
            <a href="{$product->getUrl()}" class="title">{$product.title}</a>
        {/hook}
        {*<p class="price">{$product->getCost()} {$product->getCurrency()}</p> старый вывод цены*}
        
        {$cost=$product->getCost(null, null, false)}
        {$oldcost=$product->getCost('Зачеркнутая цена', null, false)} {* Получим цену без фоматирования *}
        {*  {if $oldcost>$cost}<p><span class="lastPriceBlock">{$oldcost|format_price} {$product->getCurrency()}</span></p> *}
                    <p class="price">{$cost|format_price} {$product->getCurrency()}</p>
            
                    
                                        
                    
                      {$delta=$oldcost-$cost}{* Посчитаем разницу *}
{* Выведем разницу форматированную используя наш плагин format_price *}
      
                {*    <div class="blockPriceBlock">
                 <p class="lastPriceBlock">{if $oldcost>$cost}{$oldcost|format_price} {$product->getCurrency()}</p>
        <p class="deltaPriceBlock">Экономия {$delta|format_price}{$product->getCurrency()}</p> 
            
           {/if}
        </div> *}
    
        {* убрать рейтинг *}
     {*   <div class="starsLine">
            <span class="stars" title="рейтинг: {$product->getRatingBall()}"><i style="width:{$product->getRatingPercent()}%"></i></span>
            <a href="{$product->getUrl()}#comments" class="comments">{$product->getCommentsNum()}</a>
        </div>      *}  
    </div>
</li>

188

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

Ярослав пишет:

Есть предложение от Атол в виде облачных касс.

Остается открытым вопрос как облачная касса будет бумажный чек выдавать при оплате курьеру наличными.
Т.е. кроме нее нужно еще что-то иметь.

И вообще, вопросов очень много. Гораздо больше чем ответов.

Вот еще обсуждение, кому интересно. http://searchengines.guru/showthread.php?t=957236

189

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

Вставляю так

<div class="tab">
 
    <div class="scrollBlock">
            <ul class="scrollItems products">
{foreach $article->getAttachedProducts() as $product}

{include file="%catalog%/one_product.tpl" product=$product}
 
{/foreach}
            </ul>
      
    </div>
</div>

Почему-то нет Корзины.

Что нужно добавить, чтобы она появилась?

Вот весь код файла \templates\perfume\moduleview\article\view_article.tpl

<article>
    <p class="date">{$article.dateof|dateformat:"@date @time"}</p>
    <h1>{$article.title}</h1>
    
    {if !empty($article.image)}
    <img class="mainImage" src="{$article.__image->getUrl(700, 304, 'xy')}" alt="{$article.title}"/>
    {/if}
    {$article.content}
</article>
{moduleinsert name="\Photo\Controller\Block\PhotoList" type="article" route_id_param="article_id"}
<div class="tab">
 
    <div class="scrollBlock">
            <ul class="scrollItems products">
{foreach $article->getAttachedProducts() as $product}

{include file="%catalog%/one_product.tpl" product=$product}
 
{/foreach}
            </ul>
      
    </div>
</div>

190

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

понял спасибо

В админке есть такая опция Сайты - Перенаправлять на основной домен.

Как она работает?

Если я зашел по ссылке на www.старый-сайт.ru меня сразу же перебросит на основной-сайт.ru?
А если не ставить галочку Перенаправлять на основной домен, то на основной домен перебросит только когда я на какую-нибудь ссылку нажму?

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

Т.е., если я правильно понимаю, надо сделать так:

Доменные имена (через запятую): основной-сайт.ру, старый-сайт.ру

Перенаправлять на основной домен - не ставим галку.

А после того, как Яндекс.Вебмастер покажет, что зеркала склеились, ставим галку.

Правильно?

192

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

Дмитрий пишет:

Добрый день.
Есть еще вопрос , как сделать, чтобы дизайн шаблона exception.tpl полностью соответствовал главной страниц (шаблону wrapper.tpl)? Если полностью скопировать и добавить шапку и футер из html.tpl,

    <head {$app->getHeadAttributes(true)}>
        {$app->meta->get()}
        <title>{$app->title->get()}</title>
        {foreach from=$app->getCss() item=css}
            {$css.params.before}
            <link {if $css.params.type !== false}type="{$css.params.type|default:"text/css"}"{/if} href="{$css.file}" {if $css.params.media!==false}media="{$css.params.media|default:"all"}"{/if} rel="{$css.params.rel|default:"stylesheet"}">
            {$css.params.after}
        {/foreach}
        <script>
            var global = {$app->getJsonJsVars()};
        </script>
        {foreach from=$app->getJs() item=js}
            {$js.params.before}
            <script type="{$js.params.type|default:"text/javascript"}" src="{$js.file}"></script>
            {$js.params.after}
        {/foreach}
        {if $app->getJsCode()!=''}
            <script language="JavaScript">{$app->getJsCode()}</script>
        {/if}
        {$app->getAnyHeadData()}

        <script type="text/javascript" src="/templates/autofashion/resource/js/bootstrap.min.js"></script>

    </head>

то не подгружаются ссылки на стили и на js файлыю Возможно что-то где-то надо еще прописать?

Тоже решил так сделать, чтобы вместо 404 главная была.

Вопрос № 1.
Где находится шаблон главной страницы для темы Perfume?
Файлов wrapper.tpl и html.tpl в папке темы нет.

Вопрос №2.

Как указать подключение JS и CSS ?

Это нужно в шаблоне прописать
<link type="text/css" href="/templates/perfume/resource/css/960gs/reset.css?v=5" media="all" rel="stylesheet">
и т.п.

<script type="text/javascript" src="/resource/js/jquery.min.js"></script>
и т.п.

Их, наверное, можно все из исходного кода Главной страницы просто скопировать?

193

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

Sergey T. пишет:

Мы когда отключаем капчу на странице регистрации и оформлении заказа, у нас начинаются валиться по 10-20 регистраций в день от ботов.

Ага. Регистрации валятся. А заказы - нет.

Регистрация идет через страницу регистрации, а не через страницу заказа.
Отправить заказ можно только добавив что-то в корзину, а бот этого не может.
И на других движках у меня тоже ни разу не было заказа от бота.
Поэтому, я считаю, что на странице заказа она лишняя, а в идеале сделать отключаемой, чтобы админ выбирал, где нужна капча, а где нет.

194

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

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

Плюс надо включить каптчу, если она у Вас отключена.

А можно включить Каптчу везде, кроме страницы оформления заказа?

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

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

195

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

У меня FastVPS. Нареканий нет. Ничего не лежит, не тормозит, техподдержка хорошая.

196

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

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

Вы хотите и созданные админом кнопки отслеживать? Или купить в один клик созданное пользователем?

А для заказа, созданного пользователем, как сделать?

Нашел причину. У меня установлен модуль "Заказ на одной странице".
Поэтому код

{if !$smarty.post.user_type}
    {$order.user_type='noregister'}
{/if}

вставляем на странице
\modules\onepageorder\view\templates\ТЕМА\checkout\confirm.tpl

Попробовал сделать, как написано, не получается. Выскакивает Частное лицо.

Может из-за темы? У меня клонированная perfume (Воздушная).

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

Опишите в деталях пожалуйста, сейчас всё в куче. Где что указываете. Где что нужно выводить.

При редактировании категории товаров в мета-тегах в описании я пишу текст, при сохранении текст автоматически появлялся внизу страницы с этой категорией на сайте.

Короче говоря, вы текст из html-тега description хотите подставлять в описание страницы?

Счетчик нужно вставлять через админку:
Вебсайт -> Настройка модулей-> Подключение JS-скриптов. У меня в секции Head стоит.