Сделал вывод комплектаций, все работает, но только у тех товаров, у которых больше 1 фото, т.е. при наведении появляется дополнительная область http://luchski.ru/catalog/kurtki-bryuki … y-lyzhnye/ Вопрос: как сделать hover и для тех товаров, у которых всего 1 фото, чтобы также выводить список комплектаций?

День добрый! smile

Хотел представить наш интернет-магазин спортивных товаров www.luchski.ru

Год назад сайт функционировал на движке modx, был вполне себе обычным сайтом-визиткой с намеком на интернет-магазин. Не было личного кабинета, фильтров в каталоге товаров, складов, синхронизации с 1С, даже поиска по сайту. Заказы приходили просто письмом на email, никакого порядка и структуры. Все было печально, но даже на таком сайте люди покупали, благо цена-качество соответствует.

Настало время переходить на нормальный движок с нормальным функционалом. Пересмотрел уйму вариантов: shop-script, imagecms, umicms, битрикс и многие другие. Какие-то не подошли по стоимости, какие-то по функционалу. На readyscript наткнулся случайно в какой-то статье или обзоре. Быстрый взор на сам интернет-магазин и админку и выбор сделан. Плюс стоимость пользования движком приятно удивила по сравнению с другими cms.

Остановились на классической теме.

Достоинства readyscript лично для меня:
1. Адаптивный дизайн
2. Адекватная, грамотная, а главное быстрая техподдержка
3. Сервис пожеланий не номинальный, ребята реально "берут на вооружение" идеи и воплощают их в жизнь
4. "Удобный" правильный упорядоченный код и хорошая документация как для пользователей так и для разработчиков
5. Синхронизация с 1С УТ11.1 (пришлось немного допиливать выгрузку, но справились)
6. Удобная админка, в частности управление товарами и заказами
7. Маркетплейс, за счет которого можно расширить функциональность cms. Уверен в скором времени он обрастет кучей нужных дополнений.

Спасибо ребятам из команды readyscript за такой замечательный и быстро прогрессирующий движок!!!

228

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

Да, все.

Спасибо! Теперь все работает как надо! Считаю что это можно добавить в стандартный шаблон, было бы здорово.

Вот содержимое address.tpl:

{addjs file="order.js"}

{assign var=errors value=$order->getNonFormErrors()}
{if $errors}
    <div class="pageError">
        {foreach from=$errors item=item}
            <p>{$item}</p>
        {/foreach}
    </div>
{/if}

<form method="POST" id="order-form">
    {if $is_auth}
    <div class="formSection">
        <span class="formSectionTitle">Покупатель</span>
        <a href="{urlmake logout=true}" class="ml10">сменить пользователя (Выход)</a>
    </div>    
    
    <table class="formTable">
        {if $user.is_company}
        <tbody>
            <tr>
                <td class="key">Название организации:</td>
                <td class="value">
                    {$user.company}
                </td>
            </tr>
            <tr>
                <td class="key">ИНН:</td>
                <td class="value">
                    {$user.company_inn}
                </td>
            </tr>                
        </tbody>
        {/if}
        <tbody>
            <tr>
                <td class="key">Имя:</td>
                <td class="value">
                    {$user.name}
                </td>
            </tr>
            <tr>
                <td class="key">Фамилия:</td>
                <td class="value">
                    {$user.surname}
                </td>
            </tr>
            <tr>
                <td class="key">Отчество:</td>
                <td class="value">
                    {$user.midname}
                </td>
            </tr>                    
            <tr>
                <td class="key">Телефон:</td>
                <td class="value">
                    {$user.phone}
                </td>
            </tr>                    
            <tr>
                <td class="key">E-mail:</td>
                <td class="value">
                    {$user.e_mail}
                </td>
            </tr>
        </tbody>
    </table>
    {else}
    <input type="hidden" name="user_type" value="{$order.user_type}">
    <div class="userProfile activeTabs" data-input-name="user_type">
        <div class="formSection">
            <span class="sectionListBlock">
                <ul class="lineList tabList">
                    <li><a class="item {if $order.user_type=='person'} act{/if}" data-tab="#user-tab1" data-input-val="person" href="JavaScript:;">Частное лицо</a></li>
                    <li><a class="item{if $order.user_type=='company'} act{/if}" data-tab="#user-tab1" data-class="thiscompany" data-input-val="company" href="JavaScript:;">Компания</a></li>
                    <li><a class="item{if $order.user_type=='user'} act{/if}" data-tab="#user-tab2" data-input-val="user" href="JavaScript:;">Я зарегистрирован</a></li>
                </ul>
            </span>
        </div>
    
        <div class="tabFrame {if $order.user_type =='user'} hidden{/if}{if $order.user_type =='company'} thiscompany{/if}" id="user-tab1">
            <table class="formTable">
                <tbody class="organization">
                <tr>
                    <td class="key">Название организации:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_company', ['data-deftext'=>'Например: ООО Аудиторская фирма *Аудитор*'])}  
                        <!--<div class="help">Например: ООО Аудиторская фирма "Аудитор"</div>-->
                    </td>
                </tr>
                <tr>
                    <td class="key">ИНН:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_company_inn', ['data-deftext'=>'10 или 12 цифр'])}  
                        <!--<div class="help">10 или 12 цифр</div>-->
                    </td>
                </tr>                
                </tbody>            
                <tbody>               
                <tr>
                    <td class="key">Фамилия:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_surname', ['data-deftext'=>'Иванов'])}                        
                    </td>
                </tr> 
                 <tr>
                    <td class="key">Имя:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_name', ['data-deftext'=>'Иван'])}                        
                    </td>
                </tr>                   
                <tr>
                    <td class="key">Отчество:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_midname', ['data-deftext'=>'Иванович'])}
                    </td>
                </tr>                    
                <tr>
                    <td class="key">Телефон:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_phone', ['data-deftext'=>'+7(908)6527856'])}
                        <!--<div class="help">В формате: +7(123)9876543</div>-->
                    </td>
                </tr>                    
                <tr>
                    <td class="key">E-mail:</td>
                    <td class="value">
                        {$order->getPropertyView('reg_e_mail', ['data-deftext'=>'ivan_ivanovich@mail.ru'])}
                        <div class="help">На этот E-mail Вы будете получать все уведомления о Вашем заказе (смена статуса, изменение суммы, почтовые идентификаторы или номера транспортных накладных для отслеживания посылок)</div>
                    </td>
                </tr>
                <tr>
                    <td class="key">Пароль:</td>
                    <td class="value">
                        <input type="checkbox" name="reg_autologin" {if $order.reg_autologin}checked{/if} value="1" id="reg-autologin">
                        <label for="reg-autologin">Получить автоматически на e-mail</label>
                        <div class="help">Нужен для проверки статуса заказа, обращения в поддержку, входа в кабинет</div>
                        <div id="manual-login" {if $order.reg_autologin}style="display:none"{/if}>
                            <div class="inline f">
                                {$order.__reg_openpass->formView(['form'])}
                                <div class="help">Пароль</div>
                            </div>
                            <div class="inline">
                                {$order.__reg_pass2->formView()}
                                <div class="help">Повтор пароля</div>
                            </div>
                            <div class="inline">
                                <div class="form-error">{$order->getErrorsByForm('reg_openpass', ', ')}</div>
                            </div>
                        </div>
                    </td>
                </tr>
                
                {foreach from=$reg_userfields->getStructure() item=fld}
                <tr>
                    <td class="key">{$fld.title}</td>
                    <td class="value">
                        {$reg_userfields->getForm($fld.alias)}
                        {assign var=errname value=$reg_userfields->getErrorForm($fld.alias)}
                        {assign var=error value=$order->getErrorsByForm($errname, ', ')}
                        {if !empty($error)}
                            <span class="form-error">{$error}</span>
                        {/if}                        
                    </td>
                </tr>
                {/foreach}                
                
                </tbody>
            </table>
            </div>
            <div class="tabFrame{if $order.user_type !='user'} hidden{/if}" id="user-tab2">
                    <table class="formTable">
                        <tbody>
                        <tr>
                            <td class="key">Логин:</td>
                            <td class="value">
                                {$order->getPropertyView('login')}
                            </td>
                        </tr>    
                        <tr>
                            <td class="key">Пароль:</td>
                            <td class="value">
                                {$order->getPropertyView('password')}
                                <a href="?ologin=1" id="order_login">Вход</a>
                            </td>
                        </tr>                    
                    </table>
            </div>
       </div>
       {/if}
       
        
        <div class="formSection">
            <span class="formSectionTitle">адрес</span>
        </div>
        
       
       
       {if count($address_list)>0}
            <div class="existsAddress">
                Использовать следующий адрес:
                <table id="address-list">
                    {foreach from=$address_list item=address}
                    <tr>
                        <td><input type="radio" name="use_addr" value="{$address.id}" id="adr_{$address.id}" {if $order.use_addr == $address.id}checked{/if}></td>
                        <td>
                            <label for="adr_{$address.id}">{$address->getLineView()}</label>
                            <a href="{$router->getUrl('shop-front-checkout', ['Act' =>'deleteAddress', 'id' => $address.id])}" class="deleteAddress"/></a>
                        </td>
                    </tr>
                    {/foreach}
                    <tr>
                        <td><input type="radio" name="use_addr" value="0" id="use_addr_new" {if $order.use_addr == 0}checked{/if}></td>
                        <td><label for="use_addr_new">Другой адрес</label></td>
                    </tr>                
                </table>
            </div>
        {else}
            <input type="hidden" name="use_addr" value="0">
        {/if}
        <table class="formTable">
            <tbody class="new-address">
                <tr>
                    <td class="key">Страна:</td>
                    <td class="value">
                        {assign var=region_tools_url value=$router->getUrl('shop-front-regiontools', ["Act" => 'listByParent'])}
                        {$order->getPropertyView('addr_country_id', ['data-region-url' => $region_tools_url])}                        
                    </td>
                </tr>
                <tr>
                    <td class="key">Область, Город:</td>
                    <td class="value">
                        <div class="inline f">
                            {assign var=regcount value=$order->regionList()}
                            <span {if count($regcount) == 0}style="display:none"{/if} id="region-select">
                                {$order.__addr_region_id->formView()}
                            </span>
                            
                            <span {if count($regcount) > 0}style="display:none"{/if} id="region-input">
                                {$order.__addr_region->formView()}
                            </span>                            
                        </div>
                        <div class="inline">
                            {$order->getPropertyView('addr_city')}
                            <div class="help">Город</div>
                        </div>
                    </td>
                </tr>                    
                <tr>
                    <td class="key">Индекс, Адрес:</td>
                    <td class="value">
                        <div class="inline f">
                            {$order.__addr_zipcode->formView()}
                            <div class="help">Индекс</div>
                        </div>
                        <div class="inline">
                            {$order->getPropertyView('addr_address')}
                            <div class="help">Например: ул.Ленина, д.100, кв.15</div>
                        </div>
                    </td>
                </tr>
            </tbody>
            <tbody>
                <!--<tr>
                    <td class="key">Контактное лицо:</td>
                    <td class="value">
                        {$order->getPropertyView('contact_person')}
                        <div class="help">Лицо, которое встретит доставку. Например: Иван Иванович Пуговкин</div>
                    </td>
                </tr>-->
                {if $order.__code->isEnabled()}
                    <tr>
                        <td class="key">Защитный код:</td>
                        <td class="value">
                            {$order->getPropertyView('code')}
                            <div class="help">Необходим для защиты от спам роботов</div>
                        </td>
                    </tr>
                {/if}
            </tbody>
        </table>
        
    {if $conf_userfields->notEmpty()}
        <br>
        <div class="formSection">
            <span class="formSectionTitle">дополнительные сведения</span>
        </div>
        <table class="formTable">
            <tbody>
            {foreach from=$conf_userfields->getStructure() item=fld}
            <tr>
                <td class="key">{$fld.title}</td>
                <td class="value">
                    {$conf_userfields->getForm($fld.alias)}
                    {assign var=errname value=$conf_userfields->getErrorForm($fld.alias)}
                    {assign var=error value=$order->getErrorsByForm($errname, ', ')}
                    {if !empty($error)}
                        <span class="form-error">{$error}</span>
                    {/if}                        
                </td>
            </tr>
            {/foreach}
            </tbody>
        </table>        
    {/if}
    
    
         
    <button type="submit" class="formSave">Далее</button>
</form>
<br><br><br>

Нашел вот эту конструкцию:

<div class="tabFrame {if $order.user_type =='user'} hidden{/if}{if $order.user_type =='company'} thiscompany{/if}" id="user-tab1">

Она скрывает первые две вкладки, когда переходишь на "я регистрировался ранее", пытался и так и так, все какая-то баламуть получатеся, вразумите...

Спасибо, все работает! С кроссбраузерностью в вашем примере все в полном порядке wink

232

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

Было бы здорово, если бы это был один модуль, при установке которого из блока "Документы" можно распечатать необходимые бланки. Единственный нюанс, это то что формы Ф113, Ф116 и Ф119 печатаются на двух сторонах листа А4. Как вы решили данный вопрос?

http://i71.fastpic.ru/big/2015/0828/72/86b84c0433db6af4de01fff4f5541072.jpg

233

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

Ну тогда вдовесок и Ф.7 и был бы вообще полный комплект.

http://infostart.ru/upload/iblock/cfc/h7u.jpg

Спасибо! Постараюсь разобраться, отпишусь если что-то не пойдет.

Сейчас в коробочной версии readyscript есть 4 темы оформления. При оформлении заказа на 1 этапе, когда вводятся ФИО, адрес и т.п., если пользователь выбирает "я регистрировался ранее", то в трех темах кроме классической скрываются ненужные поля. Как добавить такое же в классическую тему?

Подскажите, как можно добавить placeholder в полях input?

http://i68.fastpic.ru/big/2015/0828/77/c969377e1361071eba7dda695f658077.jpg

В address.tpl есть следующая конструкция:

<td class="key">Фамилия:</td>
       <td class="value">
       {$order->getPropertyView('reg_surname')}                        
</td>

Как сюда приделать placeholder не могу понять...
Заранее спасибо!

237

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

Еще бы Ф.113 и Ф.119 мы их тоже используем.

238

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

Давайте, давайте! Очень нужная штуковина! А не могли бы вы дать ссылочку на ресурс, где этот модуль уже применяется?

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

http://i72.fastpic.ru/big/2015/0827/83/7fa8fe660f347e086bbe658657889d83.jpg
http://i68.fastpic.ru/big/2015/0827/d6/de3b01aa6b0baa9e3e8b66137dedf8d6.jpg

Отличная новость!

241

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

Поддерживаю! Отличный сервис! Было бы здорово увидеть его в readyscript!

Я делал переводы модулей (добавлял их в свой шаблон), которые отображают весь контент на сайте. Как по-другому не знаю.

Спасибо, все работает!

Упс, не обратил внимания. Все в порядке. Спасибо!

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

http://i69.fastpic.ru/big/2015/0806/0e/80eb366467085b026c0996d91ff2de0e.jpg

Спасибо большое! Все получилось и работает!

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

http://i70.fastpic.ru/big/2015/0806/89/b41e251ff885c091e285dc2818123189.jpg

Не сработало.
1. В настройках сайта стоит en
http://i70.fastpic.ru/big/2015/0806/fe/7c33a4d1329f6f0fbef10d768ee69ffe.jpg



2. Создал в папке с темой следующее - /templates/raysport/resource/lang/en/message.lng.php с содержимым

<?php
return array(
      'Главная' => 'Main'
);


3. http://ray-sport.com/catalog/ski-wax/ - "Главная" на русском.
Как быть подскажите?

Есть два мультисайта. Появилась необходимость перевести один из них на английский язык.
вот русский http://luchski.ru/catalog/smazki-skolzheniya/
вот английский http://ray-sport.com/catalog/gliders/
Вопрос: в хлебных крошках как сделать, чтобы на одном сайта было "Главная", а на другом "Main"?

Спасибо, теперь все в порядке!