Денис Чубенко

Денис Чубенко

С нами с 02 марта 2017; Место в рейтинге пользователей: #610
Денис Чубенко
27 марта 2023, 11:16
0
Первую версию msImportExport можно скачать, купить отдельным пакетом?
Вполне устраивали возможности первой версии, не всем зашел улучшенный вариант.
Денис Чубенко
11 февраля 2021, 21:21
0
У меня данная ошибка появляется только когда пользуюсь поиском по сайту из формы поиска. Результатов в всплывающем окне показывает 5, ошибок будет 10. Но у меня стоит старая версия mSearch2-1.9.2. С новой версией mSearch2 не проверял.
Денис Чубенко
25 сентября 2019, 13:24
0
Это смотреть надо, я не работал с ним. По описанию, похоже что все есть, плюс можно свои поля для каждого города прописать в ресурсах. Он бесплатный, скачай, посмотри.
Денис Чубенко
23 сентября 2019, 11:01
0
Посмотри — Localizator, он создавался под языки, но можно вместо языков указать города.
Денис Чубенко
12 июля 2019, 23:13
0
В content поле ни кто дополнительно div блоки прописывать не будет, а значит придется принудительно прописывать лишние элементы. Проще тогда теги body и html удалить.
Денис Чубенко
12 июля 2019, 14:59
0
Столкнулся с необычным поведением DOMDocument.
есть код в content
<h2>Назначение стационарных углекислотных резервуаров</h2>
<ul>
<li>Длительное хранение (неограниченный срок) жидкой углекислоты с минимальными потерями продукта.  </li>
<li>Подача углекислоты на линию потребления. </li>
<li>Заправка любых емкостей жидкой углекислотой. </li>
</ul>
<p> </p>
<h2>Выгодные особенности углекислотных резервуаров</h2>
после использования loadHTML и saveHTML для обработки content, достаточно только загрузить данные и сохранить
$content = $modx->resource->content;
        $content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'); //исправляем ошибки кодировки
        libxml_use_internal_errors(true);

        $dom = new DOMDocument;
        if ($dom->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD)){
                //компилируем html и устанавливаем
                $html = $dom->saveHTML($dom->documentElement);
                $modx->resource->set('content', $html);
        }
        break;
получаю поломанную верстку.
Перемещается окончание заголовка h2 в самый конец. Вот вывод в логи переменной $html
<h2>Назначение стационарных углекислотных резервуаров<ul>
<li>Длительное хранение (неограниченный срок) жидкой углекислоты с минимальными потерями продукта.  </li>
<li>Подача углекислоты на линию потребления. </li>
<li>Заправка любых емкостей жидкой углекислотой. </li>
</ul>
<p> </p>
<h2>Выгодные особенности углекислотных резервуаров</h2></h2>
если при загрузке content убрать ключ — LIBXML_HTML_NOIMPLIED, то все будет корректно, но добавятся теги
<html><body>

Подскажите, что нужно прописать, что бы не ломало верстку и лишние теги не добавлялись?
Денис Чубенко
08 июля 2019, 11:44
0
Почему же нет. Если взять fenom то можно делать что угодно. Можно менять класс в самом чанке опираясь на значение idx. Например
<div class="{$idx | in : [1, 2] ? 'col-6' : 'col-4'} ">
или задавать размеры картинке
{set $phpthumb = $idx | in : [1, 2] ? 'w=555&h=290&zc=1&q=70&bg=ffffff' : 'w=360&h=290&zc=1&q=70&bg=ffffff'}
<img src="{$image | phpthumbon : $phpthumb }"  alt="{$pagetitle}">
или выводить нужный div
{if $idx==1} <div class="row">{/if} 
... 
 {if $idx==1} </div>{/if}
тут уже можно творить, что угодно, главное самому не запутаться.
Денис Чубенко
10 июня 2019, 07:39
0
Все зависит от поставленной задачи. Если тебе просто надо менять город, адреса, почту и телефоны для каждого поддомена, то контексты создавать нет смысла. Можно воспользоваться дополнениями, например, SEODomains или changeDomain, или cityFields, по моему еще какие-то были.
Денис Чубенко
26 мая 2019, 09:27
0
Надо смотреть настройки Источника файлов. Так же доступы и права в папку, в которые сохраняются картинки.
Денис Чубенко
24 мая 2019, 12:24
0
Кеш.
Проверь в самом товаре в Галереи в правом углу какой стоит источник файлов.
Если миниатюра создается только 120х90 значит ошибка в строке, где прописываются правила для миниатюр. Поэтому создает по умолчанию.
Денис Чубенко
20 мая 2019, 12:52
0
Нет там ни чего сложного. Все написано или в тексте статьи или в комментариях.
Сначала надо создать Каталог и Разделы каталога, если надо то и подразделы. Вручную или Импортом.
Потом загрузить все картинки на сайт, положив во временную папку.
Создать import.csv без заголовка с разделенными ";" столбцами. Можно сделать в exel сохранив в нужном формате.
В этом файле необходимо заполнить: pagetitle, parent, template, tv1, tv2, .., price, size,size,gallery,gallery.
Где pagetitle — Название товара;
parent — id раздела или подраздела;
template — Номер шаблона товара, если не прописан в настройка магазина по умолчанию;
tv1, tv2,… список дополнительных полей, с указанием id этого поля, а не названия;
price — цена товара, числовое значение, с точкой разделителем;
size — указать размер товара,
size,size — если их несколько, так и создавать под каждое значение свой столбик, если у какого-то товара он один, значит столбик второго размера должен быть пустой;
gallery — путь к картинке на сервере, которые загрузили ранее;
gallery,gallery,gallery,gallery — с картинками столько столбиков сколько картинок у товара, если у какого-то товара их меньше, значит пустые поля создаем. Общее количество столбиков в строке не должно меняться.
Касательно TV полей, если id доп полей больше 9, то надо поправить 49 строку в csv.php
if (preg_match('/^tv(\d)$/', $v))
добавить плюсик возле «d»
if (preg_match('/^tv(\d+)$/', $v))
Иначе скрипт не увидит доп поля и не даст разрешение на их сохранение.
Теперь формируешь строку, с четким соответствием порядка полей
csv.php?file=file.csv&fields=pagetitle,parent,template,tv1,tv2,price,size,size,gallery,gallery&update=1&key=pagetitle&debug=1&delimeter=;
Дальше то же все понятно
&update=1&key=pagetitle&debug=1&delimeter=;
— это разрешить обновлять, ключевое поле — pagetitle, режим отладки включен, разделитель колонок ";"
Запускаем, проверяем, появился ли товар в нужном разделе, все ли корректно заполнилось, меняем debug=0, запускаем и ждем, надеясь, что все корректно заполнено.
Если необходимы какие-то другие поля, прописываем их так же. content, longtitle, introtext, published, old_price, color
Денис Чубенко
09 апреля 2019, 21:06
+1
точно так в коде написано, parent со звездочкой??
[[#[[*parent]].pagetitle]]
Согласно логов стоит parent с плюсом
Could not find snippet with name #[[+parent]].pagetitle.
Денис Чубенко
13 февраля 2019, 09:32
+2
<img src="assets/resourceimages/{$row.image | phpthumbon : "w=250&h=250&zc=1"}"
в таком виде phpthumbon файл не видит.
<img src="{'assets/resourceimages/'~$_modx->resource.id~'/'~$row.image | phpthumbon : "w=250&h=250&zc=1"}"
вот так возможно и увидит.
Есть не большая тонкость.
<a href="assets/resourceimages/{$_modx->resource.id}/{$row.image}"
здесь собирается путь не посредственно в HTML и потом картинку видит именно браузер, а надо что бы ее увидел сначала сниппет, поэтому путь к картинке надо собирать раньше.
Денис Чубенко
13 февраля 2019, 08:44
0
Почему другой? Дальше он его обрабатывает $image | phpthumbon. А в кеше как вы советуете, нет ни чего, поскольку в его варианте $row.image | phpthumbon, phpthumbon не находит изображение, не обрабатывает его и подставляет заглушку.
Денис Чубенко
13 февраля 2019, 00:13
0
Как-то так можно:
{set $image='assets/resourceimages/'~$_modx->resource.id~'/'~$row.image}
<a href="{$image}" title="{$_modx->resource.pagetitle}" class="fancybox2" data-fancybox="gallery">
	<img src="{$image | phpthumbon : "w=250&h=250&zc=1"}" alt="{$_modx->resource.pagetitle}" title="{$_modx->resource.pagetitle}" class="img-thumbnail">
</a>
Денис Чубенко
12 февраля 2019, 22:32
+3
Вот такой вариант, работает
<table>
    [[+name:notempty=`<tr>
        <td style="padding:2px 7px 2px 0px"><b>Имя:</b></td>
        <td>[[+name]]</td>
    </tr>`]]
    [[+phone:notempty=`<tr>
        <td style="padding:2px 7px 2px 0px"><b>Телефон:</b></td>
        <td>[[+phone]]</td>
    </tr>`]]
    [[+email:notempty=`<tr>
        <td style="padding:2px 7px 2px 0px"><b>Почта:</b></td>
        <td>[[+email]]</td>
    </tr>`]]
    [[+link:notempty=`<tr>
        <td style="padding:2px 7px 2px 0px"><b>Ссылка:</b></td>
        <td>[[+link]]</td>
    </tr>`]]
    [[+mess:notempty=`<tr>
        <td style="padding:2px 7px 2px 0px"><b>Сообщение:</b></td>
        <td>[[+mess]]</td>
    </tr>`]]
    <tr>
        <td style="padding:2px 7px 2px 0px"><b>Страница:</b></td>
        <td><a href="[[++site_url]][[+uri]]">[[+page]]</a></td>
    </tr>
</table>
Добавляю все поля которые мне нужны из разных форм. Клиенту приходят только те поля, что заполнены.
Денис Чубенко
02 марта 2017, 19:10
0
Возможно и я что-то напортачил, поставил предыдущую версию, все нормально работает. Это окно заметил когда в редакторе TinyMCE попытался переключить в режим HTML. Что-то не давало нажать кнопку, по F12 увидел, что есть поверх всего дополнительный div у которого opacity было 0. Сам сайт еще пустой, только начал его настраивать.
Вот я повторно установил и опять появилось, может есть предположение, что это такое? Не понятно почему он берет данные именно 404 страницы.
Денис Чубенко
02 марта 2017, 16:08
0
У меня не заработала новая версия, вернее выдает окно ошибки хоть с TinyMCE, хоть без. Ошибка появляется только на ресурсах с тикетами. Интересно, что окно ошибки выдает с прозрачностью нулевой, не сразу его видно. Может чего-то нахимичил когда переставлял. Содержимое окна — это 404 страница.