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

USDT TRC20

TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh

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

[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
    • 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
  • ListChild

ListChild: Примеры

  • Дополнения
  • ListChild
  • Примеры
Поддержать: USDT TRC20: TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh
3582

ListChild: Примеры

Динамический список дочерних документов

Пример использования в backend (административной панели)

Сниппет сформирует список в виде: параметр1==значение1||параметр2==значение2

Создайте TV-параметр с типом ввода DropDown List Menu.

В возможных значениях укажите:

@EVAL return $modx->runSnippet('ListChild', array('docid' => 10, 'where' => 'isfolder = 1 and hidemenu = 0'));

Отобразит все опубликованные и неудаленные дочерние контейнеры папки 10, которые отмечены для показа в меню.

Или так:

@EVAL return $modx->runSnippet('ListChild', array('docid' => '10,11,12', 'depth' => 2));

Отобразит все опубликованные и неудаленные дочерние документы, в том числе и контейнеры, папок 10, 11 и 12 до второго уровня вложенности.

Выпадающий список (frontend)

Пример использования во frontend (пользовательской части)

Сниппет сформирует список в виде: <option value="значение">параметр</option>

Разместите в шаблоне следующий код:

<form action="[~[*id*]~]">
	<select class="form-control">
		[[ListChild? &docid=`152` &depth=`1` &where=`isfolder = 0` &emptyfield=`0`]]
	</select>
</form>

Отобразит в виде раскрывающегося списка все опубликованные и неудаленные дочерние документы папки 4, до второго уровня вложенности, которые не являются контейнерами.

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

Пример использования во frontend с запоминанием выбранных значений

Тегу select добавьте атрибут name. Значение атрибута укажите в соответствующем параметре сниппета.

Важно! Не используйте для разных списков одинаковые значения атрибута name.

<form action="[~[*id*]~]">
	<select onchange="this.form.submit();" name="dropdown"  class="form-control">
		[[ListChild? &docid=`18` &name=`dropdown` &emptyfield=`0`]]
	</select>
</form>

Теперь после выбора из списка любого пункта, форма перегружается но выбранное значение сохраняется.

Событие onchange="this.form.submit();" автоматически отправляет данные формы после каждого изменения элемента формы.

Переключатели radio (frontend)

Пример c использованием шаблона в frontend

1. Задача - вывести в виде переключателей.

[[ListChild? &docid=`152` &name=`radio` &tpl=`tplRadio` &selectedValue=`checked="checked"` &emptyfield=`0`]]

Шаблон tplRadio:

<div class="col-lg-3 col-sm-4 col-xs-6">
	<div class="radio">
		<label>
			<input type="radio" name="radio" class="colored-blue" value="" onchange="this.form.submit();">
			<span class="text"> </span>
		</label>
	</div>
</div>

Отобразит в виде переключателей все опубликованные и неудаленные дочерние документы папки 4, без пустого поля в начале списка. Запомнит выбранное значение.

Флажки checkbox (frontend)

Пример c использованием шаблона в frontend

Задача - вывести в виде переключателей.

[[ListChild? &docid=`152` &name=`checkbox` &tpl=`tplCheckbox` &selectedValue=`checked="checked"` &emptyfield=`0`]]

Шаблон tplCheckbox:

<div class="col-lg-2 col-sm-4 col-xs-6">
	<label class="csscheckbox csscheckbox-primary">
		<input type="checkbox" name="checkbox" class="colored-blue" value="" onchange="this.form.submit();">
		<span></span> 
	</label>
</div>

Отобразит в виде переключателей все опубликованные и неудаленные дочерние документы папки 4, без пустого поля в начале списка.

Количество найденных документов

Вывод количества найденных документов

[[ListChild? &docid=`152` &count=`1`]]

Отобразит количество опубликованных и неудаленных дочерних документов папки 4.

Вывод id найденных документов

Вывод идентификаторов найденных документов

[[ListChild? &docid=`152` &tpl=`idTpl` &emptyfield=`0` &separator=`,`]]

Чанк idTpl:

[+value+]

Отобразит список id всех опубликованных и неудаленных дочерних документов папки 4, разделенных запятой.

Вывод заголовков найденных документов

По аналогии с id документа, можно вывести любую переменную шаблона (кроме TV-параметров). Например, если нужно вывести заголовки:

[[ListChild? &docid=`152` &tpl=`idTpl` &emptyfield=`0` &separator=`, ` &value=`pagetitle`]]

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

Использование параметра where

При использовании параметра where необходимо заменять все = на @eq. Например, для того, чтобы вывести идентификаторы всех документов с шаблоном 5 и menuindex равным 0, размещаем такой вызов:

[[ListChild? &docid=`0` &depth=`10` &tpl=`tplId` &emptyfield=`0` &separator=`, ` &where=`template @eq 5 and menuindex @eq 0`]]

Чанк tplId:

[+value+]

Анонс статей или подменю

Выводим анонс статей

<ul>[[ListChild? &docid=`152` &emptyfield=`0` &tpl=`tplNews` &limit=`3` &sort=`menuindex` &dir=`DESC`]]</ul>

Чанк tplNews:

<li><a href="[~[+value+]~]">[+param+]</a><p>[+desc+]</p></li>

Отобразит анонсы трех статей с кратким описанием.

Выводим подменю

<ul>[[ListChild? &docid=`152` &emptyfield=`0` &tpl=`tplSubmenu` &limit=`3` &sort=`menuindex` &dir=`DESC`]]</ul>

Чанк tplSubmenu:

<li><a href="[~[+value+]~]">[+param+]</a></li>