Как подружить modx и sape?

Тема в разделе "MODx", создана пользователем anadikt, 22 июн 2013.

  1. anadikt

    anadikt

    Регистр.:
    29 янв 2010
    Сообщения:
    391
    Симпатии:
    58
    Подскажите пожалуйста, как можно подружить modx и sape?

    Вопрос вот в чем, есть сайт на modx в сапе, уже победил то чтобы выводился код сапы:

    но есть маленькое НО, при добавлении из сапы новых ссылок в сниппете в конце кода постоянно удаляется
    Код:
    ?>
    и новые ссылки соответственно не выводятся, приходится каждый вечер заходить в админку и дописывать, чтобы ссылки начали отображаться ...

    как победить эту беду?
     
  2. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Дело не в удалении в конце кода, а в кэшировании сниппета. Проверить можете Очисткой кэша (вместо редактирования сниппета)
    Вызывайте сниппет некэшируемым (в зависимости от используемой версии evo|revo вызовы различаются)
     
  3. anadikt

    anadikt

    Регистр.:
    29 янв 2010
    Сообщения:
    391
    Симпатии:
    58
    а как это сделать??? использую MODX Revolution 2.2.2
     
  4. mpv

    mpv Постоялец

    Регистр.:
    30 апр 2013
    Сообщения:
    69
    Симпатии:
    13
    в принципе ?> не нужен в снипетах

    не кешеруемый вызов снипета: [[!sape]]
     
  5. joyer

    joyer Создатель

    Регистр.:
    15 май 2009
    Сообщения:
    23
    Симпатии:
    4
    Вероятно автор вставил код прямо в шаблон. Необходимо создать сниппет, в него перенести код sape. Если сниппет назвать sape_snippet, то вызов без кеширования будет такой: [[!sape_snippet]]
     
  6. Jado

    Jado Писатель

    Регистр.:
    21 авг 2012
    Сообщения:
    9
    Симпатии:
    2
    Может кому пригодится сниппет modx для sape (ссылки и контекст).
    Выводит плейсхолдерами, вида:
    HTML:
    
    <div class="span6">[+SapeLeft+]</div>
    <div class="span6">[+SapeBottom+]</div>
    
    Код сниппета
    PHP:
    <?php
    if (!defined('_SAPE_USER')){
            
    define('_SAPE_USER''545191613184894511198113');
    }
    require_once(
    $_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
    $o['charset'] = 'UTF-8';
    $o['request_uri'] = getenv('REQUEST_URI');
    $o['request_uri'] = $_GET['uri'];
    $sape = new SAPE_client($o);
    $sape_context = new SAPE_context();
    unset(
    $o);

        
    $SapeLeft =  $sape->return_block_links(1);
        if (
    $SapeLeft<>'')
            
    $SapeLeft '<div id="sl">'.$SapeLeft.'</div>';
          
        
    $SapeRight =  $sape->return_block_links(1);
        if (
    $SapeRight<>'')
            
    $SapeRight '<div id="sr">'.$SapeRight.'</div>';
        
    $SapeBottom $sape->return_block_links();
        if (
    $SapeBottom<>'')
            
    $SapeBottom '<div id="sb">'.$SapeBottom.'</div>';
           
            
    $modx->setPlaceholder('SapeLeft'$SapeLeft);
            
    $modx->setPlaceholder('SapeRight'$SapeRight);
            
    $modx->setPlaceholder('SapeBottom'$SapeBottom);

    $e = &$modx->Event;

    switch(
    $e->name) {
      case 
    'OnLoadWebDocument':
        
    $content $modx->documentObject['content'];
        
    $content $sape_context->replace_in_text_segment($content);
        
    $modx->documentObject['content'] = $content;
        break;

      default:
        return;
        break;
    }
    ?>
     
  7. anadikt

    anadikt

    Регистр.:
    29 янв 2010
    Сообщения:
    391
    Симпатии:
    58
    По мне так лучше через сапу переставать барыжить ссылками, яша сайты в АГС угоняет теперь лихо ... дороже будет стоить вывести из АГС чем заработаешь денег