Баха Волков

Баха Волков

С нами с 10 ноября 2016; Место в рейтинге пользователей: #12
Баха Волков
02 августа 2018, 14:17
0
Вы про cut не забывайте
Баха Волков
31 июля 2018, 16:46
0
UPD

Неправильна в тех ситуациях когда не производятся никакие манипуляции со ссылкой.
Баха Волков
31 июля 2018, 15:48
0
Не знаю на счет движка, но использование конструкции [[~[[+id]]]] давно неактуально и в тоже я его могу назвать неправильным, ведь в таблице с ресурсами уже хранится ссылка на ресурс в поле uri

Т.е. вместо того чтобы каждый раз доставать ссылку, нужно просто вывести его из уже готового массива, он доступен в плейсхолдере:
[[+uri]]
Баха Волков
31 июля 2018, 15:43
3
+1
{var $table = $_modx->resource.название_тв | fromJSON}
<table>
  <thead>
	<tr>
	  {foreach $table[0] as $th}
	  <th>
		{$th}
	  </th>
	  {/foreach}
	</tr>
  </thead>
  <tbody>
	{foreach $table as $tr}
	{if !$tr@first}
	<tr>
	  {foreach $tr as $td}
	  <td>
		{$td}
	  </td>
	  {/foreach}
	</tr>
	{/if}
	{/foreach}
  </tbody>
</table>
Баха Волков
31 июля 2018, 15:25
0
Обрабатывайте на основании GET. Т.е. проверьте есть ли в массиве GET нужный ключ, если нет, то это значит, что пользователь на первой странице
Баха Волков
31 июля 2018, 15:12
0
Два варианта:

1. Залезть в сниппет и доделать его под свои нужды
2. Включаем fenom и погнали:

<table>
  <thead>
	<tr>
	  {foreach $table[0] as $th}
	  <th>
		{$th}
	  </th>
	  {/foreach}
	</tr>
  </thead>
  <tbody>
	{foreach $table as $tr}
	{if !$tr@first}
	<tr>
	  {foreach $tr as $td}
	  <td>
		{$td}
	  </td>
	  {/foreach}
	</tr>
	{/if}
	{/foreach}
  </tbody>
</table>
Баха Волков
27 июля 2018, 21:21
0
Попробуйте вот так:

{'!pdoPage' | snippet : [
    'tplPage' => '@INLINE {if $pageNo not in [1, $_modx->getPlaceholder("pageCount")]}<li class="page-item"><a href="{$href}" class="page-link">{$pageNo}</a></li>{/if}',
    'pageLimit' => 3
]}
На первой и последней странице по два выводит?
Баха Волков
26 июля 2018, 22:45
0
Так никто и не мешает:

  1. Если поиск запускается через сниппет mSearchForm, то укажи параметр minQuery поменьше
  2. Идем в системные настройки, msearch2, ключ mse2_index_fields или также mSearchForm передаешь fields указывая поля поиска с весом для каждого из них и id присваиваешь больше веса. Например: &fields=`id:5,pagetitle:5,content:3 и т.д.`
Баха Волков
26 июля 2018, 22:35
0
Вон человек специально для тебя выкатил компонент
Баха Волков
26 июля 2018, 22:30
0
Оба варианта одинаковые, но не суть.

Я так и думал, что в чанк tplPage не приходит плейсхолдер [[+pageCount]], нуу… так как я слаб в php, то я бы попробовал залезть через js в объект pdoPage до загрузки и сделал бы нужные манипуляции
Баха Волков
26 июля 2018, 22:18
0
Просто вдруг кто не знает, плейсхолдер с id родителя страницы вывода уже есть и он выглядит вот так [[*parent]]
Баха Волков
26 июля 2018, 22:16
0
Мне конечно до умного далеко, но вот эта конструкция [[#[[*id]].parent]] меня пугает ?
Баха Волков
26 июля 2018, 22:12
1
+2
Включаете тогда fenom и погнали:

{var $resources = $_modx->runSnippet('pdoResources', [
    'parents' => 1,
    'includeTVs' => 'image',
    'prepareTVs' => 1,
    'proccessTVs' => 1,
    'tvPrefix' => '',
    'return' => 'json'
])}

{foreach $resorces | fromJSON as $res}
    {$res.image | pthumb : 'w=270&h=270&zc=1'}
{/foreach}
Баха Волков
26 июля 2018, 21:45
0
А что если схалтурить и сделать вот так в чанке tplPage:

{if $pageNo not in [1, $pageCount]}
<li class="page-item"><a href="{$href}" class="page-link">{$pageNo}</a></li>
{/if}

// Или через css

<li class="page-item" {$pageNo in [1, $pageCount] ? 'style="display:none" или class="hidden"' : ''}><a href="{$href}" class="page-link">{$pageNo}</a></li>

Проверьте-ка вдруг подойдет
Баха Волков
26 июля 2018, 21:20
0
Смотри, очень примитивно покажу, чтобы суть была понятна. (Это то как бы я сделал. Ни в коем случае не претендую на джедайский ум):

Помещаем форму в нужном месте:

<form action="Ссылка на страницу с выдачей" method="GET или POST">
    <input type="search" name="query" placeholder="Введите id ресурса если он вам известен">
    <button type="submit">Жмякни чтобы получить желанное</button>
</form>

На странице с выводом:

// MODX

[[pdoResources:default=`Нихрена не нашлось, иди поспи`?
    &parents=`0`
    &resources=`[[#GET.query:default=`9999`]] или [[#POST.query:default=`9999`]]` // 9999 - это id несуществующего ресурса
    ...    // Тут чанки и другие параметры
    &checkPermissions=`...` // По-моему нужно указать права доступа, «Но это не точно»
]]

// Fenom

{var $search = $_modx->runSnippet('pdoResources', [
    'parents' => 0,
    'resources' => $.get.query ?: 9999 или $.post.query ?: 9999,
    ...        // Тут чанки и другие параметры
    'checkPermissions' => '...'   // По-моему нужно указать права доступа, «Но это не точно»
])}

{$search ?: 'Нихрена не нашлось, иди поспи'}

// Или

{if $search}
    {$search}
{else}
    Говорю же, нихрена не нашлось, иди поспи
{/if}

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

Это вариант вывода, но если что-то другое захочется, то можно при вводе id отправлять ajax-ом запрос на свой php-скрипт, который по идее должен будет в ответе вернуть название и ссылку например, и подсказкой вывести. Получится при клике отправлять на страницу.

Короче вариантов наверное много
Баха Волков
24 июля 2018, 21:34
0
Не не, человек хочет на фронте это сделать