Владимир

Владимир

С нами с 17 апреля 2019; Место в рейтинге пользователей: #586
Владимир
11 июля 2019, 17:37
0
Нашел только один способ справиться с проблемой.
Тупой и костыльный.
Смастерил скрипт, который все данные из файлов лексикона (ru) minishop2 помещает в таблицу _lexicon_entries.
Все, конечно, заработало, ссылки, кнопки, заголовки — все появилось.
Но это костыль, после нескольких апгрейдов магазина появятся проплешины, придется это править руками…
Неужели я один такой, кто столкнулся с данной проблемой?
Владимир
11 июля 2019, 09:11
0
После ряда экспериментов пришел к выводу
1. Новая группа пользователей, видимо, просто вовсе не получает доступ к лексиконам минишопа.
А если слова при работе в админ. панели и присутствуют, то это работа кеша от главного администратора, и стоит его очистить, как слова исчезают.
2. Исчезновение слов в админе главного администратора — тоже дело рук кеша, который родился при работе вторичного пользователя. Они восстанавливаются после очистки кеша.
Потому основной вопрос переформулирую так:

Каким образом обеспечить доступ вновь созданной группе пользователей к словарям Minishop2?

Спасибо
Владимир
10 июля 2019, 19:58
0
Места более чем достаточно.
Кроме того, эффект имеет место и на рабочем сервере, и на локальном.
А проблему впервые обнаружил после создания группы пользователей с правами работы и в системе в целом, и в минишопе. До того ее не наблюдал.
Владимир
10 июля 2019, 17:33
0
UPD
В дополнение к описанному эффекту обнаружил, что в контрольной панели у главного администратора тоже периодически пропадают слова.
Напр., только что пропали подписи к кнопкам «Добавить товар», «Добавить категорию» на странице категории товара.
После очистки кеша подписи вернулись.
Кто с кем конфликтует, и что делать?
Сдавать проект с такими дефектами как-то не очень.
Владимир
08 июля 2019, 17:56
0
П.3 следует читать: Если ИСПОЛЬЗУЕТСЯ toPlaceholders
Владимир
08 июля 2019, 10:33
0
Спасибо )
Я эту проблему уже обошел, экспериментировать больше не хочется.
Сделал чанк простым и безусловным, превратив его в несколько чанков, логику вытащил наружу и сделал динамическое имя для указания в сниппете.
Ну и в принципе сделал несколько выводов, которых не нашел в документации.
1. Это требуемая «безусловность» чанка результатов — отсутствие обрамляющей его логики.
2. Если не используется параметр toPlaceholders, [[+filters]] и [[+results]] обязаны находиться внутри чанка, определяемого в &tplOuter — вне зависимости от того, где размещен элемент id=«mse2_mfilter».
3. Если не используется toPlaceholders, то переименованные [[+filters]] и [[+results]] обязаны находиться ВНЕ указанного чанка, внутри они не работают.
Все это опытным путем. Соблюл эти три правила — фильтр заработал.
Владимир
05 июля 2019, 17:00
0
Нашел, что препятствовало работе фильтра в моем чанке.
Но легче от этого мне не стало.
Чанк имеет вид
[[+param:eq=`1`:then=`
html с плейсхолдерами…
`]]

[[+param:eq=`2`:then=`
другой html с плейсхолдерами
`]]

Убираю условия, оставляю голый код чанка — все работает.
Т.е., фильтр не умеет обрабатывать чанки с такими фильтрами.
Чанк, видимо, должен быть простым и прямолинейным.
И как быть?
Владимир
05 июля 2019, 15:38
0
Этот чанк прекрасно справляется с работой при штатном открытии страницы.
А вот при обновлении через ajax — вместо кода получаю строку про отсутствие подходящих данных
Владимир
05 июля 2019, 15:23
0
UPD
Версия про чанки из файловой системы не подтвердилась.
Перемещение их в БД не помогло
Владимир
05 июля 2019, 15:08
0
Спасибо
По поводу «внутри блока...» я уже обнаружил свой пробел в познаниях.
Попробую присвоить id=«mse2_mfilter» какому-нибудь прародительскому блоку.
Наверное, это решит проблему. Надеюсь.

Но есть вторая, к которой не знаю, как подойти.
Вот такой сейчас у меня вызов фильтра
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&parents=`[[+id]]`
&filters=`
ms|price:number
`
&tpl=`@FILE:chunks/products_tile.tpl`
&tplOuter=`@FILE:chunks/chunk.mfilter2.outer.My.tpl`
&limit=`12`
&includeMS=`1`
&includeMSList=`price`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
]]
Так вот при использовании чанка chunks/products_tile.tpl скрипт /assets/components/msearch2/action.php возвращает верную пагинацию, верное кол-во результатов, но вместо самих результатов присылает строку «Подходящих результатов не найдено». Если удалить параметр &tpl, то все нормально.
Кстати, может, он не принимает чанки из файловой системы? только это приходит в голову
Владимир
25 июня 2019, 16:54
0
Наверное, так
Но тогда следует исключить его из списка загрузок, во избежание неприятностей.
Владимир
25 июня 2019, 15:02
1
0
Нашел решение проблемы.
Не скажу, что красивое.
Обшарив mysql через phpmyadmin, обнаружил, что это славное приложение оставило след в системных настройках, а именно:
parser_class и parser_class_path
Вернул в них значения, соответственно,
pdoParser
и
{core_path}components/pdotools/model/pdotools/
После этого сайт заработал.
Приложение буду рекомендовать исключительно врагам.
Владимир
25 июня 2019, 14:51
0
Спасибо, не знал.
Тем не менее, это не дает право приложению рушить весь сайт
Владимир
25 июня 2019, 13:57
0
Спасибо, не знал.
Тем не менее, это не дает право приложению рушить весь сайт