Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
  • Дополнения
    • DocLister
    • DLMenu
    • DLCrumbs
    • DLBuildMenu
    • DLLastViews
    • DLSiblings
    • DLRequest
    • DLglossary
    • DLSitemap
    • DocInfo
    • FormLister
    • Wayfinder
    • phpthumb
    • LikeDislike
    • eForm
    • Ditto
    • multiTV
    • AjaxMegaSearch
    • AjaxSearch
    • WebLoginPE
    • Breadcrumbs
    • CodeMirror
    • AnythingRating
    • Easy Newsletter
    • FirstChildRedirect
    • OpenGraphTags
    • ddTypograph
    • TagSaver
    • BlackList
    • CfgTv
    • ModxAccount
    • Forgot Manager Login
    • GetField
    • if
    • Jot
    • ListChild
    • ListIndexer
    • ManagerManager
    • ddMMEditor
    • MaxiGallery
    • MemberCheck
    • ddGetMultipleField
    • MetaX
    • MODxBB и phpBB
    • Yams
    • Personalize
    • PHx
    • Reflect
    • tagLinks
    • TransAlias
    • TvTagCloud
    • UltimateParent
    • WebSignup
    • WebLogin
    • countViews
    • thumb
    • imageCaptor
    • optimizeJPG
    • Preview Next
    • Shopkeeper
      • Сниппет Shopkeeper
      • Сниппет SHKwidget
      • Модификатор shk_widget
      • Экстендер для Ditto
      • Модуль Shopkeeper
      • Пример Ditto eForm Phx
      • Примеры плагинов
      • Отправка смс через SMS.RU
      • Сообщения для менеджера
    • SiteMap
    • Sass
    • Selector
    • SimpleGallery
    • SimpleTube
    • SimpleFiles
    • Star Rating
    • MinifyX
    • adminNav
    • SimplePolls
    • CResource
    • MODxAPI
    • customTables
    • HtmlInLine
    • HtmlMinModxEvo
    • SHKUserProfile
    • PickDocsInTree
    • evoSearch
    • editDocs
    • PageBuilder
    • HybridAuth
    • Compare
    • alterTitle
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • Shopkeeper

Сниппет SHKwidget для MODX Evo ✈ Evolution CMS

  • Дополнения
  • Shopkeeper
  • Сниппет SHKwidget
1856

Сниппет SHKwidget для MODX Evo ✈ Evolution CMS

Описание

Сниппет для создания виджетов (выпадающий список, радиокнопка, чекбокс) параметров товаров в интернет-магазине. Работает совместно со сниппетом Shopkeeper. Использовать только на странице товара. При выводе списка товаров c помощью Ditto - использовать экстендер SHKwidget (rus_doc_ditto_extender.html).

Установка

  1. В системе управления перейти "Элементы" -> "Управление элементами" -> "Сниппеты".
  2. Нажать ссылку "Новый сниппет".
  3. Название сниппета: SHKwidget,
    Описание: Виджеты для Shopkeeper,
    Открыть файл SHKwidget_snippet.txt из папки install, скопировать содержимое и вставить в поле "Код сниппета". Нажать кнопку "Сохранить".
  4. Создайте параметр TV с типом ввода "Textarea" или "Text". (например "param1").
  5. При добавлении (и редактировании) товара параметры задаются по такому принципу:
    Параметр1==Значение1||Параметр2==Значение2||...

    Пример (первое значение пусто):
    ==||Подарочная упаковка==35||Подарочная сумочка==50
    Для чекбокса: Доставка==150

    Можно задать параметры со значением "0". Это полезно для параметров, которые не влияют на цену (например цвет). Пример: синий==0||зеленый==0||красный==0
    Это подходит только для select, radio или checkbox. Про &format=`radioimage` читайте ниже.

    Если в значении доп.параметра указать его цену с символом "*" (звездочка без кавычек), то цена товара умножится на цену доп. параметра. Пример значения доп. параметра: 100 г.==*1|150 г.==*1.5||200 г.==*2

Параметры сниппета

&docid - id документа, для которого задан параметр TV (по умолчанию ID текущей страницы);

&format - тип создаваемого элемента. Возможные значения: select, radio, checkbox, radioimage (по умолчанию `select`);

&tvname - имя параметра TV;

&first_selected - отметить (значение `1`) или нет (значение `0`) первое значение элемента (по умолчанию `0`);

&wraptag - обернуть тегом. Значение - любой HTML-тег, например `div`. Значение `0` (по умолчанию) - не оборачивать.

Может использоваться для radio и checkbox;

&function - JavaScript-функция, которая должна сработать при выборе. По умолчанию - `jQuery.additOpt(this)`.

Пример вызова

[[SHKwidget? &format=`select`&tvname=`param1`]]

Создание списка доступных цветов, материалов и т.п. (&format=`radioimage`)

Тип (format) виджета radioimage служит для визуального представления списка доступных цветов или материалов для товара. Картинки цветов, материалов и т.п. загружаются с помощью TV-image, при редактировании товара можно выбрать их из списка.

  1. Создайте в дереве документов раздел, например "Материалы". ID этого раздела (указан в скобках) позже понадобится.
  2. В этом разделе создайте для каждого материала (цвета или т.п.) отдельную страницу. Для всех материалов нужно ввести свое название (заголовок).
    Если для этого раздела нет TV с типом ввода "Image", создайте его (запомните ID, которое указано в скобках после названия). Загрузите для каждого материала картинку.
  3. Создайте новый TV-параметр. "Элементы" -> "Управление элементами" -> "Параметры (TV)" -> "Новый параметр (TV)".
    • Имя параметра: например "material" (без кавычек).
    • Заголовок: например "Материал".
    • Тип ввода: Listbox (Multi-Select) или Check Box
    • В поле Возможные значения введите такой запрос:
      @SELECT cnt.pagetitle, tvc.id FROM modx_site_content cnt, modx_site_tmplvar_contentvalues tvc
      WHERE cnt.id = tvc.contentid AND tvc.tmplvarid = 4 AND cnt.parent = 48
      где 4 - ID TV-картинки, 48 - ID раздела со страницами материалов, modx_ - префикс таблиц в БД, заданный при установке MODx.
    • Визуальный компонен: Delimited List
      Delimiter - "," (запятая без кавычек).
  4. В блоке "Доступ шаблонов" выберите шаблон товаров (чтобы TV был доступен при редактировании товаров).
  5. Нажмите "Сохранить". Теперь для каждого товара можно выбрать материал (цвет или т.п.) из списка. Для выделения нескольких пунктов используйте клавишу CTRL или SHIFT.

Пример вызова сниппета SHKwidget в шаблоне товара:

<div class="materials">[[SHKwidget? &format=`radioimage`&tvname=`material`&first_selected=`1`]]</div>