Комментарий от akool

Многие используют Getfield. На него часто ссылаются и использовать его удобно.
Но мне показалось, что с ним на странице многовато запросов.
Решил сравнить. Слегка подправил указанный в топике сниппет для вывода не только полей ролителя, а любого дока:
<?php
/* 
*	Returns any document field or template variable from any document
*	[[DocInfo? &docid=`15` &field=`pagetitle`]]
*	[[DocInfo? &docid=`10` &tv=`1` &field=`tvname`]]
*/
$docid = (isset($docid) && (int)$docid>0) ? (int)$docid : $modx->documentIdentifier;
$field = (isset($field)) ? $field : 'pagetitle';
$output='';
if(isset($tv) && $tv==1){
   $tv=$modx->getTemplateVar($field,'*',$docid,1);
   if($tv['value']!=''){
      $output=$tv['value'];
   }else{
      $output=$tv['defaultText'];
   }
}else{
   $doc=$modx->getPageInfo($docid,'1',$field);
   $output=$doc[$field];
}
return $output;
?>


И заменил два вызова Getfield на аналогичные вызовы этого сниппета.
В итоге страница на которой было 17 запросов стала собираться за 11. Мелочь, а приятно. Да и 4 запроса в Getfield вместо одного на такую простую задачу меня смущают.
  • avatar akool
  • 0
По-моему — симпатично. Надо бы себе применить.
Новое облако MODX, бета регистрации
уже все, нельзя :)
Today we stopped taking Beta Account signups. On Nov 30th we will end the ability to create new Beta Clouds. After Dec 31st, Beta Clouds will be removed from all MODX Cloud accounts.
Jay Gilmore

Я в Ево тоже им пользуюсь щас покажу скрин)