1

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

Это кстати с какой-то стороны и правильно.

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

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

2

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

Стало интересно. Проверил у себя.
В итоге заметил такую штуку. Конструкция {$item->getPreview(50)} работает только в том случае, если у новости НЕ заполнено поле "Краткий текст" на вкладке "Расширенные", а только есть полный текст.
Если же поле "Краткий текст" заполнено, то конструкция не работает.

http://fpicture.ru/img/2016-06/29/joj1b5hzi626n0wj6vajrw2s1.jpg

3

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

Может быть {$item->getPreview($length = 50)} ?

Приветствую. Поделюсь способом как добавить каждому пункту меню категорий свой класс (class).
Нужно это для того, чтобы средствами CSS оформлять каждый пункт по разному и подставлять изображения для категорий не в виде файла jpg или png, а в виде иконки FontAwesome или SVG.

Первое, что нужно сделать, это открыть файл: Ваша_тема/moduleview/catalog/blocks/category/category.tpl
Второе - найти строку:

    <li class="item_{$dir@iteration}{if !empty($dir.child)} node{/if}" {$dir.fields->getDebugAttributes()}><a href="{$dir.fields->getUrl()}">{$dir.fields.name}</a>

Третье - добавить после node{/if}

dir{$dir.fields.id}

Должно быть примерно так:

    <li class="item_{$dir@iteration}{if !empty($dir.child)} node{/if} dir{$dir.fields.id}" {$dir.fields->getDebugAttributes()}><a href="{$dir.fields->getUrl()}">{$dir.fields.name}</a>

Сохранить и обновить кэш.
После этого к каждому пункту меню добавится класс - dir(id категории), например dir20, которому уже можно задавать свои стили в вашем файле CSS.

<li class="item_1 dir20">Моя категория</li>

Аналогично для подкатегорий:
находим строку:

<li><a href="{$subdir.fields->getUrl()}">{$subdir.fields.name}</a>

и добавляем к элементу li

<li class="subdir{$subdir.fields.id}">

и так далее в зависимости сколько у вас уровней подкатегорий в меню.


Способ конечно не идеальный, но на мой взгляд самый простой.
Делал так на нескольких сайтах, включая Bitrix... БИТРИКС.. Карл..

Тестировалось на теме "young" (Детская). Работает.

5

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

1. А зачем фильтры в sitemap? Это будет дополнительный мусор в поиске.
2. Физическое присутствие файла sitemap на сервере не обязательно. Главное чтобы Яндекс его видел.
3. Удалите строку Disallow: *?* и ссылки фильтра будут индексироваться, если конечно оно вам очень надо.
или создайте правила только для Яндекса:
User-agent: Yandex
Disallow... и т.д.

6

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

Если сравнивать по размеру папки шаблона, то получается не одинаковый. В редакции FULL объем папки больше чем в MIDDLE.

7

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

Ага, common.js заменил и еще пару файлов. А именно:
style.css (не хватало стилей)
layout.tpl (не было загрузки скрипта oneclickcart)
theme.xml (не было события enable_one_click_cart)
моя_тема/moduleview/shop/blocks/oneclickcart/oneclickcart.tpl (не было совсем)

плюс

modules/shop/controller/block/oneclickcart.inc.php (не было совсем)
modules/shop/view/blocks/oneclickcart/oneclickcart.tpl (не было совсем)
modules/shop/view/js/jquery.oneclickcart.js (не было совсем)


Я так подумал, что этого блока "не было совсем" в редакции "Маркет"
Законно ли что я взял эти файлы из темы в редакции "Full"?

8

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

Объясните, что может быть за ошибка:

$.oneClickCart is not a function

указывает на код

        $(function(){ 
            $.oneClickCart('bindChanges');
        });

9

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

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

Нет. Просто нужно скопировать себе обновлённый шаблон корзины. Для Вашей темы(детская) это:
/templates/young/moduleview/shop/cartpage.tpl
Соответственно копируем его себе по тому же пути только для Вашей темы.

Сделал. Ничего не поменялось. Беглый осмотр файла cartpage.tpl показал, что там нет кода вывода этого блока.

10

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

Не нашел где включается этот блок с настройках. Увидел это в демо-шаблоне на демо-сайте.

См. фото.
http://www.imghost.in/img/2016-06/16/8wzvbzmhd80r6o1kcm25rdrgv.jpg

11

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

Спасибо, Андрей. Работает!

Вот только что изменил:
В RS cсылка должна идти прямо на index.php - <a href="mydomenvasya/download/index.php">Получить прайс</a> Иначе 404 ошибка. Заметил только на RS, пробовал на другом домене, работает без index.php

Строку в скрипте:

$allfiles = glob( 'price/*.*' );

переделал на

$allfiles = glob("../путь к папке с прайсами/{*.xls,*.zip,*.doc}", GLOB_BRACE);

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

12

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

Андрей пишет:

Кстати о костылях...

Что если сделать ссылку, доступную авторизованным
ссылка /download/
Будет запускать скрипт php
Который отдаст xls файл из определенной папки, сделать так чтобы скрипт сам находил текущий прайс самый свежий и всё

Всё предельно просто.


Был бы у меня такой скрипт, сделал бы так ) Но я не на столько продвинутый. Да и ReadyScript изучаю только 4й день

13

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

Андрей пишет:
Сергей Дмитриевич пишет:

Может быть нужно что-то в htaccess править? Где идет обработка 404 страницы, не знаете?

Дайте ссылку на прайс.... Может подскажу как в htaccess настроить

http://2016.rd43.ru/price/

Но я там уже немного начудил..

14

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

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

Если бы в ReadyScript был какой-нибудь файловый менеджер, то и вопроса бы такого не было.

В RS есть файловый менеджер когда статью редактируете. Там и можно загрузить ваш прайс.

А вы каждый раз с новым названием прайс генерируете? Не проще ли с один и тем же названием перезаливать файл.

Проще, но заказчик или клиент любит видеть в названии архива или doc. файла дату его обновления.

_____________________________________________

Пока менеджер будет заливать файл с одним и тем же названием с заменой файла.

_____________________________________________

И еще. Если знать полный путь до файла прайса, то и регистрироваться не надо.. все и так дает скачать smile Но это мелочи, никто же его не знает

15

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

Может быть нужно что-то в htaccess править? Где идет обработка 404 страницы, не знаете?

Как вариант. Спасибо

17

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

Ну это же костыли получаются.
Проще сделать не публичную статью и на ней загружать файл в папку. А на странице скачивания встраивать статическую ссылку на файл.
Но мы немного отклонились от темы ))

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

18

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

Сайт не в облаке.

Страница должна иметь тип - Статья (т.к. только в этом типе есть визуальный редактор)

Если делать тип - Страница, то подходит вариант из вашего первого ответа.

19

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

Андрей пишет:

Если загружать прайс в папку шаблона?

Нет, менеджер должен зайти на страницу "Прайс-лист" и загрузить его в папку по кнопке "Загрузить файл"

Конечно слогане не меняется каждый день smile поэтому можно и без переменных обойтись, просто вписав слоган в блок HTML но все-таки..

21

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

Да, спасибо, такая конструкция работает и имеет право на существование. Но!

Если имя файла прайса меняется при каждой загрузке, а это раз в неделю примерно, то каждый раз нужно менять tpl-файл.

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

Если бы в ReadyScript был какой-нибудь файловый менеджер, то и вопроса бы такого не было.

Подскажите, как выдавать посетителю страницу с формой регистрацией вместо 404-страницы ошибки, если страница, на которую он переходит с закрытым доступом?

Поясню.
Скачать прайс-лист в XLS может только зарегистрированный пользователь, при этом ссылка на страницу с прайсом ему видна, а сам прайс доступен только после регистрации.

Сейчас, если поставить убрать у страницы статус "Публичная", то ее никто не видит и выходит 404-страница. Также если в правах ограничить доступ к этой странице, то тоже выдается 404 страница.

Простыми словами: Как сделать так, что если доступ к странице ограничен только одной группе пользователей, выдавать страницу с формой регистрации, а не 404-ошибку.

Подскажите, как вывести слоган магазина в другом месте, кроме logo.tpl?

Как ни пытался вставить <div class="slogan">{$site_config.slogan}</div> в другое место, все-равно выводит пустой блок.

admin пишет:

Можете сделать пункта меню "Оплата" с типом "Страница", затем в разделе Веб-сайт->Конструктор сайта добавить страницу "Меню -> Оплата" и визуально разместить блок "Форма обратной связи" или назначить шаблон странице, где разместить {moduleinsert name="\Feedback\Controller\Block\Feedback" form_id=Здесь ID формы}, если ваша тема собрана не по сетке.

Можно и так, но простой менеджер-девочка, если ей нужно будет поменять информацию на этой странице, впадет в ступор при виде шаблона и кода.

Вроде дошло..

С помощью {var_dump($menu_item)} нашел в какую переменную передается id страницы, и передается ли вообще smile

Итого, если нужно вывести форму связи, например на страницу Контактов, то вот код, который нужно добавить в файл modules/menu/view/front_article.tpl после {$article.content}

{if $menu_item.id == Здесь ID страницы}
{moduleinsert name="\Feedback\Controller\Block\Feedback" form_id=Здесь ID формы}
{/if}