Вопросы

Редирект

есть два контекста, в web лежит основной каталог, в catalog лежит старые товары(вынес для удобства администрирования)
если в конце адресной строки добавить слеш (site.ru/blog/) то кидает не на странице например site.ru/blog а на старый каталог(то есть страницу другого контекста)
есть такой плагин

<?php
if ($modx->event->name == 'OnPageNotFound') { 
    
    $alias = $modx->context->getOption('request_param_alias', 'q');
    if (!isset($_REQUEST[$alias])) {return false;}
    $request = $_REQUEST[$alias];
    $tmp = explode('/', $request);
    
    $req = 'product';
    
    if (($tmp[0] == $req && count($tmp) == 1) || (count($tmp) == 2 && empty($tmp[1])) ) {
        
		$modx->sendForward('2068');
		return;
		
    } else if ($tmp[0] == $req && count($tmp) >= 2 && !empty($tmp[1])) {
        
        $obj = $modx->getObject('modResource', array('uri' => $request));
        $modx->sendForward($obj->get('id'));
        return;
        
    } else if ($tmp[0] != $req && $tmp[0] != 'assets') {
        
        $modx->switchContext('web');
        return;
    }

}
Aslero
06 апреля 2019, 23:33
modx.pro
564
0

Проблема с extends в fenom

Всем привет. Это мой первый опыт сборки сайта на modx. Решил сразу использовать fenom, так как есть опыт работы с шаблонизаторами.
Суть вопроса/проблемы:
Мои действия по шагам:
1.Установил голый modx 2.7.0
2. Установил PDOtools, разрешил parser в настройках.
3. Через include подключил внешний шаблон
index.tpl c таким содержанием:
{extends 'template:base.tpl'}

{block 'content'}
    <h2>content</h2>
{/block}
4. И соответственно шаблон base.tpl:
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<header>
    <h2>header</h2>
</header>

{block 'content'}

{/block}

<footer>
    <h2>footer</h2>
</footer>

</body>
</html>
Проблема в том что, открывается белый экран, а вот если удалить из index.tpl строчку {extends 'template:base.tpl'}, то содержимое отображается. Что я делаю не так?
Евгений
06 апреля 2019, 19:44
modx.pro
1 953
0

Возможно ли заставить работать плейсхолдеры в зарегистрированном коде?

При регистрации кода при помощи:
cssToHead — регистрация CSS кода в шапке страницы
htmlToHead — регистрация произвольного HTML в шапке страницы
htmlToBottom — регистрация произвольного HTML в подвале страницы
jsToHead — регистрация javascript файла в шапке страницы. Если передать параметром true, то можно регистрировать сразу код.
jsToBottom — регистрация javascript в подвале страницы. Если передать параметром true, то можно регистрировать сразу код.
Или
$_modx->regClientCSS
$_modx->regClientScript
$_modx->regClientStartupHTMLBlock
$_modx->regClientHTMLBlock
плейсхолдеры ни в MODX-вварианте — [[+placeholder]] или [[*placeholder]], ни на Fenom — {$placeholder} НЕ РАБОТАЮТ. В исходном коде и на странице отображаются в неизменном виде.

Можно ли заставить работать плейсхолдеры в зарегистрированном коде?
Дмитрий
06 апреля 2019, 15:11
modx.pro
1
1 985
0

Как настроить ЧПУ для HybridAuth?

Всем привет. Столкнулся с задачей, нужно настроить провайдер Twitter для авторизации. Как оказалось со сменой политики мало того, что нужно подавать заявки на английском, так ещё нельзя использовать Callback URL с атрибутами начинающимися на? или &, по этому я хочу сделать ЧПУ ссылку для sgames.one/?hauth.done=Twitter чтобы она подменялась адресом sgames.one/oauth/twitter/

На сервере использую Apache, по этому пытаюсь это дело настроить через .htaccess

Пробовал уже по всякому и так

RewriteEngine On
RewriteBase /

RewriteRule ^oauth/([a-z]+)/? /?hauth.done=$1 [L,QSA,NC]
и так

RewriteEngine On
RewriteBase /

RewriteRule ^oauth/twitter/? /?hauth.done=Twitter [L,QSA,NC]
Выдаёт ошибку вместо редиректа на главную. Подскажите каким образом можно сделать ЧПУ ссылку для провайдера Twitter?
SEQUEL.ONE
06 апреля 2019, 02:07
modx.pro
614
0

Из-за localizator перестает работать сайт

Проблема в том что если документ выключен (снят с публикации), то эта страница начинает выдавать 500 ошибку.
Установлена версия 1.0.4-beta1 проблема наверно со связкой плагинов SEO Pro и Localizator.
При отключении плагина localizator сайт начинает работать нормально, при изменение кода в плагине в case блоке OnPageNotFound сайт начинает работать нормально.
Также эта проблема если установить группы ресурса, страница перестает работать.
Как это исправить?
Den
Den
05 апреля 2019, 18:36
modx.pro
1 282
0

Сделать на сайте все ссылки одного уровня \ плоские SEO

Поступил запрос от SEO, нужно на старом сайте переделать все ссылки.

Сейчас:

site.ru/catalog/category/itemname

Нужно:

site.ru/itemname

Как это сделать правильно?

Scorp Satex
05 апреля 2019, 15:14
modx.pro
2 545
0

Comparison + TVs

Здравствуйте!
В документации компонента Comparison, я не нашла как вывести ссылки «Добавить в сравнение».
У меня в категориях ресурсы выводятся с помощью pdoResources. Как к ресурсам в категориях добавить ссылки «Добавить в сравнение» при использовании pdoResources?
Zulya
05 апреля 2019, 07:41
modx.pro
1
1 522
0

Ajax навигация PdoPage

Доброго времени суток господа! Столкнулся с такой проблемой: на сайте организован вывод товаров через PdoPage с ajax навигацией через скрол и стоит рандомная сортировка. Заметил проблему, что при прокрутке некоторые товары дублируются. подскажите пожалуйста, как можно исправить данную проблему? Без рандомной сортировки вроде бы дублей нет, но можно как-то исключить дубли при ней?
Код вызова:
[[!pdoPage?
    &element=`msProducts`
    &parents=`10`
    &limit=`9`
    &where=`{"Data.popular":"1"}`
    &sortby=`RAND()`
    &sortdir=`ASC`
    &tpl=`product_teaser`
    &ajaxMode=`scroll`
    &ajaxTplMore=`@INLINE <div class="col-md-4 more">
       <div class="view-row catalog-item catalog-item-next card">
         <div class="catalog-item-top">
           <div class="catalog-img">
               <img src="/assets/images/next-bg.jpg" alt="">
            </div>
           <div class="next-page">
            <button class="btn btn-success btn-more">[[%more]]</button>
           </div>
           </div>
           <div class="catalog-item-bottom clearfix"></div>
          </div>
        </div>`
     ]]
Артём
05 апреля 2019, 07:19
modx.pro
876
0

Фильтрация результатов mSearch2

имеется вывод результатов поиска на странице
<h1>{$_modx->resource.longtitle ?: $_modx->resource.pagetitle}</h1>
        {$_modx->runSnippet('!mSearchForm', [
            'tplForm' => '@FILE chunks/tpl_search_form_page.tpl',
        ])}
        {var $res = $_modx->runSnippet('!mSearch2', [
            'parents' => 0,
            'returnIds' => 1,
            'limit' => 0,
            'where' => '{"template":12}',
        ])}
        {if $res}
        <div id="pdopage" class="products">
		  <div class="search-results row rows">
		      {$_modx->runSnippet('!pdoPage', [
		          'element' => 'msProducts',
		          'parents' => '0',
		          'resources' => $res,
		          'tpl' => '@FILE chunks/tpl_product.tpl',
		          'ajaxMode' => 'scroll',
		          'limit' => 36,
		      ])}
		  </div>
		</div>
		{/if}
Также имеется плагин msOptionsPrice2, как отфильтровать вывод результатов поиска, избавившись от позиций, которых нет в наличии?
Дмитрий
05 апреля 2019, 01:32
modx.pro
921
0

как добавить авторизацию через НЕпредустановленного провайдера hybridauth

ситуация: вызов "[[HybridAuth?&groups=`Users:3`]]" показывает «You can authorize on site with:
facebook*GitHubGoogleVkontakteYandex», я хочу дать возможность авторизоваться только чеоез фб и твиттер, НО вызов "[[HybridAuth? &groups=`Users:3` &providers=`Twitter,facebook*`]]" выдаёт ТОЛЬКО фб. Где и как нужно включить твиттер?

п.с. версия — hybridauth-3.0.0-pl, сам modx revo 2.7.1-pl
Денис
04 апреля 2019, 20:35
modx.pro
805
0