Всего 125 687 комментариев

Columb
06 мая 2021, 21:05
1
0
Всем доброго времени суток! 

Я не программист, поэтому предпочитаю покупать нужные, на мой взгляд, компоненты. К сожалению, перед покупкой не все можно протестировать на modhost.pro (в любом случае, спасибо за такую возможность), поэтому хочу поделится своими мыслями по поводу SEOtabs.

1. SEOtabs предполагает работу с виртуальными страницами на уровне ресурсов, используя для этого SEO-табы (из документации — «содержимое SEO-табов не содержится в коде основной страницы, что позволяет создавать максимально уникальные виртуальные страницы для конкретных групп запросов»). Казалось бы все логично, но ajax загрузка данных SEO-табa по-умолчанию ОТКЛЮЧЕНА.

2. При клике на SEO-таб метаданые подгружается через AJAX, обновляя DOM-дерево. О том, что для изменения в SEO-табах метаданных title и description используются плейсхолдеры, в документации информации нет.

MODX Parser
<code>[[+st.title]]</code>
<code>[[+st.description]]</code>
MODX Fenom

{$_pls['st.title']}
{$_pls['st.description']}
MODX Fenom, вызов через условие (здесь шаблон ID 2 имеет вызов seoTabs).

{if 'template' | resource == 2}
    <title>{$_pls['st.title']}</title>
    <meta name="description" content="{$_pls['st.description']}">
    {else}
    <title>{'pagetitle' | resource}</title>
    <meta name="description" content="{'description' | resource}">
{/if}
3. У виртуальных страниц SEO-табов ОТСУТСТВУЕТ (не формируется) канонический URL. Например, компонент SeoFilter для этого использует плейсходер sf.url (что позволяет формировать и amp страницы )
<!--< канонический URL + amp URL у виртуальных и обычных страниц компонента SeoFilter />   --> 
        {if $_modx->getPlaceholder('sf.url')}
            <link rel="canonical" href='{$_modx->resource.id | url : ["scheme"=>"full"]}{$_modx->getPlaceholder("sf.url")}'>
            <link rel="amphtml" href='{$_modx->resource.id | url : ["scheme"=>"full"]}{$_modx->getPlaceholder("sf.url")}?amp'>
            {else}
            <link rel="canonical" href='{$_modx->resource.id | url : ["scheme"=>"full"]}'>
            <link rel="amphtml" href='{$_modx->resource.id | url : ["scheme"=>"full"]}?amp'>
        {/if}
4. При клике на SEO-табы у виртуальных страниц НЕ МЕНЯЕТСЯ название (содержимое тега Н1) через AJAX, по принципу замены метаданных title и description (см. п.2). Проблема решается перезагрузкой страницы и использованием плейсхолдера (в данном случае, плейсхолдер вызывается с использованием оператора if)

{if $_modx->getPlaceholder('st.title')}
        <h1>{$_pls['st.title']}</h1>
    {else}
        <h1>{'pagetitle' | resource}</title></h1>
{/if}
5. При перезагрузке SEO-табов у виртуальных страниц НЕ ОТОБРАЖЮТСЯ («теряются») записи лексиконов дополнительных свойств товара miniShop2.

6. Компоненты SEOtabs и frontendManager КОНФЛИКТУЮТ между собой — при клике на SEO-табы не происходит переход на виртуальную страницу с уникальным url (перезагрузка страницы). Проблема решается только отключением frontendManager.

7. Техническая поддержка отвечает в течение 3 рабочих дней. Для решения возникшей проблемы, как правило, просит предоставить доступ к сайту. Если это не возможно, то варианта всего два:
— заранее договориться с техподдержкой и воссоздать проблему на тестовом сайте modhost.pro (так как тестовые сайты с платными компонентами автоматически удаляются в течении суток).
— воссоздать проблему на субдомене dev. Вашего сайта

Второй вариант предпочтительней, но не гарантирует решение проблемы (в моем случае техподдержка в период с 27.04.21 по 06.05.21 так и не воспользовалась предоставленным доступом к субдомену сайта).

Ответ технической поддежки по поводу возможной доработки SEOtabs — «в данный момент мы ведем доработку пакета по другим направлениям, к примеру, корректная работа с sitemap. В плановое обновление мы это пожелание добавим, но до конца года вряд ли сможем взяться за эту проблему. Опять же, если вы считаете, что вам это действительно необходимо, то мы можем обсудить коммерческую разработку.»

Надеюсь, данная информация будет полезной как при использовании SEOtabs, так и при тестировании компонента перед покупкой.
Наумов Алексей
06 мая 2021, 16:50
0
Да все правильно, сначала вызываем pdoResources, чтобы вывести категории. В parents указываем id корневого раздела, depth = 0.
А внутри в чанке вызываем msProducts, parents = $id, depth уже в зависимости от вашего сайта… наверное тоже 0.
Диман
06 мая 2021, 08:29
+1
Ошибки
xPDOAPCCache[context_settings]: Error creating APC cache provider; xPDOAPCCache requires the APC extension for PHP, version 2.0.0 or later.

Версия

php8, подскажите что тут не так, может не стОит обновляться?
Дмитрий
05 мая 2021, 21:15
0
Решение:
{if $tv_img}
<img src="{$tv_img}" >
{/if}
Яна Митрофанова
05 мая 2021, 18:58
0
Также была ошибка «Не удалось обработать ответ от сервера», после переезда на другой хостинг, помогло изменение версии php с 7.2 на 7.3
Семён Кудрявцев
05 мая 2021, 18:02
+1
Скоро опубликую статью про это, там покажу и скрипт и опишу процесс подробнее.
Максим
05 мая 2021, 17:50
0
Удалось решить?
Алексей
05 мая 2021, 17:36
0
а есть пример скрипта как пережимаются в другие форматы изображения?
Александр Мельник
05 мая 2021, 15:45
+1
У большинства сниппетов (из pdoTools) по умолчанию если не задан лимит, то он равен 10.
Здесь
docs.modx.pro/komponentyi/ms2gallery/snippetyi/ms2galleryresources
написано, что ваш ms2GalleryResources наследует все параметры от pdoResources
значит у него таже история. Добавьте параметр limit и нужно вам количество.
Галя
05 мая 2021, 15:23
0
Добрый день, достался по наследству сайт на Модекс, и там почему-то выводятся только 10 производителей. Не могу найти место, где стоит лимит на количество записей. Выводятся они так:
{extends 'file:elements/templates/base.tpl'}

{block 'page_class'}brand-page{/block}

{block 'main'}
{$_modx->resource.longtitle}

{$_modx->resource.content}

{'ms2GalleryResources' | snippet: [
'parents' => $_modx->resource.id,
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'typeOfJoin' => 'inner',
'includeThumbs' => '400x400',
'tpl' => '@FILE elements/chunks/brands/brands_row.tpl'
]}



{/block}
Georg
05 мая 2021, 15:18
0
В AMP-шаблон я не выводил скрипты, сделал просто описание товара. Проверку AMP все страницы отрабатывают как нужно. Не работает именно на нормальных страницах сайта. Видимо событие OnLoadWebDocument этого плагина каким-то образом конфликтует с Shopkeeper3. Хотя в самом Shopkeeper3 оно вроде-бы не используется.
Shedko Denis
05 мая 2021, 14:50
0
В AMP сторонние JS-скрипты не работают.
И просто включив плагин — вы ничего не получите. Или валидацию страница не пройдет (99%) или разметка поплывет. Там ооочень много подводных камней.

АМП как и YandexRSS — в основном для новостных/статейных сайтов. АМП для магазинов мало подходит — конверсии никакой почти. Только если низкочастотные выводить в амп — и то это же только для гугла.
Амина
05 мая 2021, 14:12
0
Спасибо за ваш ответ! Очень помогли!
Евгений
05 мая 2021, 10:03
0
спасибо, на него уже смотрел, но как-то хочется самому, тем более что вроде все должно быть не сложно
Georg
05 мая 2021, 09:50
0
Всем привет! А никто не сталкивался с тем что после установки данного плагина
<?php
$id = $modx->resource->get('id');
$resource = $modx->getObject('modResource',$id); 
$template = $modx->resource->template; 
if($template == 39 && isset($_GET['amp'])) {
	$modx->resource->set('template', 56); 
} 
$modx->resource->cacheable = false;
Перестает работать корзина на Shopkeeper3? т.е. добавить в корзину кнопка срабатывает, а товар в корзину не добавляет и появляется просто значок вечной загрузки. При отключении плагина все начинает работать
Сергій
05 мая 2021, 09:35
0
В папке «connectors» нужно в файле «modx.config.js.php» все содержимое заменить с:
<?php
/*
 * This file is part of MODX Revolution.
 *
 * Copyright © MODX, LLC. All Rights Reserved.
 *
 * For complete copyright and license information, see the COPYRIGHT and LICENSE
 * files found in the top-level directory of this distribution.
 */

/**
 * @package modx
 * @var modX $modx
 */
define('MODX_CONNECTOR_INCLUDED', 1);
require_once __DIR__ .'/index.php';
$modx->request->handleRequest(array('location' => 'system','action' => 'config.js'));
На:
<?php
/*
 * This file is part of MODX Revolution.
 *
 * Copyright © MODX, LLC. All Rights Reserved.
 *
 * For complete copyright and license information, see the COPYRIGHT and LICENSE
 * files found in the top-level directory of this distribution.
 */

/**
 * @package modx
 * @var modX $modx
 */
define('MODX_CONNECTOR_INCLUDED', 1);
define('MODX_REQP',false);
require_once dirname(__FILE__).'/index.php';
$_SERVER['HTTP_MODAUTH'] = $modx->user->getUserToken($modx->context->get('key'));
$modx->request->handleRequest(array('location' => 'system','action' => 'config.js'));
Роман
05 мая 2021, 09:10
0
Напишите, что пофиксили, может другим пригодится.