Если у нас имеется документ с множеством дочерних ресурсов (ну, скажем, тысяча страниц), во время загрузки дерева в админке он может притормаживать или, как в моём случае, вообще не показывать своих "детей". Что с этим сделать?
Мне помогло следующее решение: в меню "Система" выбираем пункт "Контексты" и создаём новый контекст. После создания он отобразится у нас в дереве документов с иконкой домика (первый контекст - web, тот, в котором по умолчанию лежат все материалы сайта). Берём "тяжёлый" ресурс и вместе со всеми дочерними страницами переносим в новый контекст.
Смотрим - должно работать.
пятница, 23 ноября 2012 г.
среда, 21 ноября 2012 г.
PHP Pchart: получаем координаты точек графика в пикселах
Речь идёт о последней версии 2.1.3, но метод настолько прост, что не должно возникнуть проблем и в более старых версиях.
Итак, допустим, нам нужно нарисовать геометрическую фигуру поверх графика (к примеру, с помощью drawRectangle) или подписать отдельную точку графика (drawText). Для этого нам нужны пиксельные координаты точек (PixelOffset). Получаем их примитивнейшим способом.
Открываем класс pDraw (classes/pDraw.php). Находим метод класса, который отрисовывает наш график (у меня это drawPlotChart). В начале добавляем строчку:
$PixelOffsetCoordinates = array();
Далее спускаемся чуть ниже, находим строку:
if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
{
Внутри фигурной скобки добавляем:
$PixelOffsetCoordinates[$SerieName]=array();
Далее, после строчки
foreach($PosArray as $Key => $Y)
{
Вставляем:
$PixelOffsetCoordinates[$SerieName][$Key]=array($X,$Y);
И ещё раз вставляем эту же строку чуть ниже, после
foreach($PosArray as $Key => $X)
{
Остаётся только вернуть полученные значения. Перед последней фигурной скобкой, закрывающей метод, вставляем:
return $PixelOffsetCoordinates;
Всё. Теперь наш метод $myPicture->drawPlotChart() возвращает массив с координатами точек для каждой серии.
Итак, допустим, нам нужно нарисовать геометрическую фигуру поверх графика (к примеру, с помощью drawRectangle) или подписать отдельную точку графика (drawText). Для этого нам нужны пиксельные координаты точек (PixelOffset). Получаем их примитивнейшим способом.
Открываем класс pDraw (classes/pDraw.php). Находим метод класса, который отрисовывает наш график (у меня это drawPlotChart). В начале добавляем строчку:
$PixelOffsetCoordinates = array();
Далее спускаемся чуть ниже, находим строку:
if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
{
Внутри фигурной скобки добавляем:
$PixelOffsetCoordinates[$SerieName]=array();
Далее, после строчки
foreach($PosArray as $Key => $Y)
{
Вставляем:
$PixelOffsetCoordinates[$SerieName][$Key]=array($X,$Y);
И ещё раз вставляем эту же строку чуть ниже, после
foreach($PosArray as $Key => $X)
{
Остаётся только вернуть полученные значения. Перед последней фигурной скобкой, закрывающей метод, вставляем:
return $PixelOffsetCoordinates;
Всё. Теперь наш метод $myPicture->drawPlotChart() возвращает массив с координатами точек для каждой серии.
Подписаться на:
Комментарии (Atom)