Статистика для статей (новостей)

#
Re: Статистика для статей (новостей)
Во-первых, Вам необходимо добавить параметр той тип. дин. страницы, в которую Вы внедряете подсчет просмотров и которая используется для показа  Вашей инфосистемы "Новости". Если Вы используете пример, приведенный выше, то имя переменной этого параметра тип. дин. страницы должно быть CountField. Затем в структуре сайта при редактировании узла структуры, соответствующего инфосистеме "Новости" в поле параметра тип. дин. страницы CountField необходимо ввести значение идентификатора Вашего доп. свойства prosm. Его идентификатор можно посмотреть в списке всех доп. свойств инфоэлементов данной инфосистемы.
Во-вторых, отображаться количество просмотров по умолчанию нигде не будет, пока Вы сами его не выведите. Как и любое доп. свойство, значение prosm попадет в XML. Поэтому можете вывести его в XSL-шаблоне для списка инфоэлементов или при выводе подробной информации об инфоэлементе.
#
Re: Статистика для статей (новостей)
Мало что понял , но все равно, спасибо
#
Re: Статистика для статей (новостей)
Не пытайтесь понять и осознать все вышесказанное целиком и сразу. Делайте все по пунктам:
1. добавить параметр инфосистемы "Новости"(заходите в раздел "Типовые дин. страницы", далее ищете Вашу тип. дин. страницу, далее добавляете ей параметр);
2. вводите в поле "имя переменной" - CountField;
3. идет в раздел "Структура сайта" и редактируете узел структуры с новостями
и т.д.
...
#
Re: Статистика для статей (новостей)
А можно вот так по пунктам описать всю цепочку действий?
#
Re: Статистика для статей (новостей)
Сделал как вы писали выше. Всё заработало. Счетчик увеличивается и отображается.
Подскажите пожалуйста. Как сделать подсчет количества посещений групп?
Элементы сами по себе, группы сами по себе...
Пример внедрения и план примерных действий...
Спасибо.
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Статистика для статей (новостей)
AIPNZ, в разделе "Информационные системы" выбираете и входите в Вашу инфосистему. Там в списке всех доп. свойств инфоэлементов смотрите идентификатор доп. свойства prosm. Далее редактируете узел структуры, соответствующий Вашей инфосистеме. В поле, соответствующее добавленному Вами параметру тип. дин. страницы  CountField, вводите значение идентификатора доп. свойства prosm. Для вывода количества просмотров данного инфоэлемента, можете в используемый по умолчанию XSL-шаблон "ВыводЕдиницыИнформационнойСистемы" добавить:

<xsl:template match="/document/item">
...
<xsl:if test="item_propertys/item_property[@xml_name='prosm'] != ''">
<p>
<xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property[@xml_name='prosm']/value"/>
</p>
</xsl:if>
#
Re: Статистика для статей (новостей)
3dkvadrat, реализация учета статистики посещаемости для групп аналогична реализации для элементов. В тип. дин. странице(приведенной на стр. http://www.hostcms.ru/forums/22/634/) блок для обработки доп. свойства группы(а не инфоэлемента) следует внести внутрь условия if($result['item'] == false):
/* Вывод списка */
      if($result['item'] == false)
      {

/*БЛОК ДЛЯ ОБРАБОТКИ СООТВЕТСТВУЮЩЕГО ДОП. СВОЙСТВА ДЛЯ УЧЕТА СТАТИСТИКИ ПОМЕЩАЕМ ЗДЕСЬ*/

         /* Отображаем информационную систему */
         $GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
      }
      else
      {
...
}

Сам блок для учета статистики посещаемости групп можно переделать из блока учета для инфоэлементов, заменив соответствующие методы API на методы для работы с доп. свойствами групп(а не инфоэлементов).
#
Re: Статистика для статей (новостей)
Свойство в Группе prosmotrovgroup
Счетчик не прибавляется Исправьте плиз...

/* Вывод списка */
      if($result['item'] == false)
      {
         /* Отображаем информационную систему ============================    */
         $GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
   
/* Определяем идентификатор информационного элемента */
         $item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($result['item'], $result['group']);

  // Идентификатор свойства со значением числа просмотров
         $property_id = to_int($GLOBALS['LA']['CountFieldGroup']);

         if ($property_id != 0)
         {
            $property_array = $GLOBALS['LA_InformationSystem']->GetPropertysInformationSystemItem($item_id, $InformationSystem_id);

            $last_value = 0;

            # Перебираем список свойств, чтобы узнать текущее значение
            foreach ($property_array as $key => $value)
            {
               if ($value['information_propertys_id'] == $property_id) // $property_id - ID доп св-ва
               {
                  $last_value = to_int($value['information_propertys_items_value']);
                  break;
               }
            }

            $type = 0; // Вставка свойства

            # УВЕЛИЧИВАЕМ ЧИСЛО ПРОСМОТРОВ
            $GLOBALS['LA_InformationSystem']->InsertInformationPropertysItems($type, 0, $property_id, $item_id, $last_value+1);
         }
         // конец увеличения числа просмотров








   }
      else
      {
         /* Определяем идентификатор информационного элемента */
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
#
Re: Статистика для статей (новостей)
Необходимо, чтобы дополнительное свойство, соответствующее переменной CountFieldGroup, являлось именно доп. свойством для групп инфосистемы. Кроме того,  для учета статистики посещаемости определенной группы недопустимо использовать API-методы для работы с инфоэлементами(нужны методы для работы с группами).
Попробуйте заменить на этот код:

/* Вывод списка */
      if($result['item'] == false)
      {

if(to_int($result['group']) != 0)
  {// Идентификатор свойства со значением числа просмотров
         $property_id = to_int($GLOBALS['LA']['CountFieldGroup']);

         if ($property_id != 0)
         {
            $property_array = $GLOBALS['LA_InformationSystem']->GetPropertysGroup($result['group'], $InformationSystem_id);

            $last_value = 0;

            # Перебираем список свойств, чтобы узнать текущее значение
            foreach ($property_array as $key => $value)
            {
               if ($value['information_propertys_groups_id'] == $property_id) // $property_id - ID доп св-ва
               {
                  $last_value = to_int($value['information_propertys_groups_value_value']);
                  break;
               }
            }

            $type = 0; // Вставка свойства

            # УВЕЛИЧИВАЕМ ЧИСЛО ПРОСМОТРОВ
            $GLOBALS['LA_InformationSystem']->InsertInformationPropertysGroupsValue($type, 0, $result['group'], $property_id, $last_value+1);
         }
         // конец увеличения числа просмотров
}
         /* Отображаем информационную систему */
         $GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
  
}
#
Re: Статистика для статей (новостей)
Не отображается. Это доп. свойство групп.

<xsl:value-of disable-output-escaping="yes" select="group_propertys/group_property[@xml_name='prosmotrovgroup']/value"/>

Что не так?
Интеграция дизайна, доработка кода системы, техническое обслуживание сайтов на HostCMS
Авторизация