Разделы

  
 

почему не меняется шаблон? [MODX REVO 2 2 1 ]

Есть ресурс, у него шаблон. Меняю шаблон — и в иногда вывод ресурса остается по старому шаблону. Сайт простой, автоматом ничего не назначается. У некоторых ресов вывод меняется, у некоторых нет. Причем никакой системы.

В чем проблема?

[[Revo РЕШЕНО]] Как автоматически назначать шаблон для создаваемых ресурсов?

Нашёл несколько вариантов для назначения шаблонов для создаваемых ресурсов.
Основная проблема в том, что способы не работают, когда ресурсы создаются в подпапках папки для которой создано правило (написан плагин) не работают.

не могу сменить шаблон страницы в modx revo 2.1.5

Собственно сабж. При попытке сменить шаблон страницы выскакивает поле «Please Wait» и сохранение идет бесконечно, т.е. фрейм не перезагружается. В чем может быть проблема?

[REVO] одновременная, групповая смена смена шаблона у всех ресурсов

Подскажите пожалуйста, как реализовать смену шаблона сразу у всех ресурсов. Т.е. есть сайт, несколько статических страниц, к нему придумано два различных дизайна, как показать заказчику оба варианта без того, что бы вручную менять шаблоны у всех страниц по очереди? В идеале хотелось бы, что бы менять внешний вид сайта можно было бы из frontend-а, самому заказчику. Заранее спасибо всем неравнодушным!

Формы для сайта а AJAX

Немного ajax для сайта
JS которая собирает данные из форм, или делает запрос на редактирование\удаление\создание
function ajaxPost($dad,$id,$out,$outOK,$ajax,$tpl)
{
	// $dad - родитель форм
	// $id - идентификатор
	// $out - место вывода информации
	// $outOK - 
	// $ajax - обработчик
	// $tpl - имя шаблона чанка
	
	var $post = $($dad).serializeArray();
	$($out).html('<center><img src="v2.gif" width="16" height="11" /></center>');
	window.setTimeout(function() 
	{	
		$.post("?ajax="+$ajax, {tpl: $tpl, post: $post, id: $id}, function(msg){if (msg=="OK") 
		{
			$.ajax(
			{
			   type: "POST",
			   url: "юрл_страницы_без_шаблона_на_которой_сниппет...",
			   data: "tpl="+$ajax+"OK",
			   success: function(msg){$($outOK).html(msg);}
			});
		} 
		else {$($out).html(msg);}});
	}, 1000);
}



( Читать дальше )
  • +2
  • 17 февраля 2012, 14:13
  • Zinich66
  • 2

REVO Шаблон по умолчанию - родительский, как отменить?

MODX Revolution 2.1.5-pl (traditional)

Странное дело.

В НАСТРОЙКАХ СИСТЕМЫ прописан шаблон по умолчанию default_template 5

В корне сайта ресурсы создаются с шаблоном 5.

Во всех других папках — с шаблоном родительского ресурса.

Правила создания ресурсов (resourse/create) в НАСТРОЙКАХ ФОРМ с ограничивающим значением parent для какой-либо их этих папок тупо игнорируются.

Правда, правила редактирования этих ресурсов (resourse/update)- работают, но что толку, если ресурсы изначально создаются с неправильным шаблоном.

И самое противное, я не понимаю где прописана директива создавать дочерние документы с шаблоном родительских и как её отключить.

Кто-нибудь сталкивался?
  • 0
  • 2 декабря 2011, 17:45
  • banev
  • 7

Смена шаблона при генерации страницы [EVO]

Появилась необходимость переключать вывод для одного и того же документа в зависимости от наличия $_GET параметров. Можно было реализовать через сниппеты и чанки, но захотелось менять весь шаблон. В итоге был выгуглен и немного модифицирован следующий способ:

создаем новый плагин ChooseTemplate, в разделе «События» выбираем OnLoadWebDocument и OnLoadWebPageCache, и вносим такой текст плагина:


global $modx;
if ($modx->documentObject['template'] == $original_template_id 
    && isset($_REQUEST['some_get_variable'])) 
{
    $tableName = $modx->getFullTableName("site_templates");
    $modx->documentObject['template']=$alt_template_id;
    $sql = "
        SELECT * 
        FROM $tableName AS t
        WHERE t.id = '$alt_template_id'
    ";
    $result = $modx->dbQuery($sql);
    if ($row = $this->fetchRow($result)) {
      $modx->documentContent = $row['content'];
    }
}


$original_template_id и $alt_template_id — идентификаторы базового (установленного у ресурса) и альтернативного шаблонов соответственно. Их настройку можно вынести во вкладку «Конфигурация» указав в поле «Конфигурация плагина»


&original_template_id=Оригинальный шаблон (ID);text;14 &alt_template_id=Альтернативный шаблон (ID);text;7


14 и 7 — заменить на свои значения. Можно сделать больше ветвление, если надо.

UPD:

Для большего ветвления нужно всего-лишь неким образом получать ID шаблона, который нужно применить к содержимому и дальше выполнять вот этот кусок кода:


global $modx;

/*
 *   Некий код, который генерирует $new_template_id
 */

if ($new_template_id) 
{
    $tableName = $modx->getFullTableName("site_templates");
    $modx->documentObject['template']=$new_template_id;
    $sql = "
        SELECT * 
        FROM $tableName AS t
        WHERE t.id = '$new_template_id'
    ";
    $result = $modx->dbQuery($sql);
    if ($row = $this->fetchRow($result)) {
      $modx->documentContent = $row['content'];
    }
}

[REVO] Как выставить шаблоном по умолчанию - шаблон соседних ресурсов?

Сабж.

В настройках не нашёл такого же пункта как в EVO. Может плохо искал?
  • 0
  • 4 ноября 2011, 17:48
  • banev
  • 7

Шаблоны для SBShop. Введение.

Изначально SBShop не планировалось делать неким решением из коробки с готовыми шаблонами. Это в первую очередь инструмент, который изначально предусматривал серьезную гибкость, к которой мы так привыкли в MODX. Давайте разберемся как устроены шаблоны и как интернет-магазин вообще заставить работать.

( Читать дальше )
  • +2
  • 25 сентября 2011, 00:58
  • Carw
  • 26

Открытие страницы без шаблона по условию переданного методами ПОСТ или ГЕТ Revo

Привет.
Появилась задача использовать pjax в revo.
Собственно вопрос. Можно ли вывести данные без присвоения шаблона, только контент.
Например я создал страницу id=1 Главная (псевдоним home.html)! В контенте прописал Привет Мир. Шаблон присвоил «Мой шаблон» там есть какой-то код дизайна сайта.
Можно ли при открытии страницы home.html вывести только контект этого документа, чтобы шаблон не подставлялся?
  • 0
  • 22 сентября 2011, 20:14
  • sliker
  • 30