Реализация было - будет у информационной системы

#
Реализация было - будет у информационной системы
Очень нужна реализация как на сайте
_fkefir.ru/index.php - левая колонка анонс

как можно сделать подобное у информационной системы в HostCMS?

то есть подсчитать что прошедшее и что будующее (по датам)  и применить соответствущий стиль для отображения.


спасибо заранее за помощь,очень нужна данная возможность отображения а сил нет понять как можно реализовать в xsl

ку
Модератор
#
Re: Реализация было - будет у информационной системы
compaq,
Очень просто.
Выбираете последние N новостей с инфосистемы, здесь все стандартно.
Потом применяете внутри XSL-шаблона два apply-template, один с условием, где position() <= n/2, другой, где position() > n/2, указывая для первого и второго разные mode="", т.е. первая половина будет обрабатываться одним тэмплэтом, а вторая половина - другим.
Если нужен пример - на досуге напишу.
#
Re: Реализация было - будет у информационной системы
HostCMS спасибо за ответ.
примерно понял. попробую..

Но скромненько намекая что от вашего примера не откажуь в связи с моей неопытностью работы с xsl

интересует как пример чтобы далеко не ходить xls шаблон списка системы новости
(http://demo.hostcms.ru/info/news/)

спасибо заранее за помощь в работе с вашей CMS и в частности работой с xls

сергей.
ку
#
Re: Реализация было - будет у информационной системы
Здравствуйте! поможете вашим примером рабочим?
Спасибо заранее за помощь.
ку
#
Re: Реализация было - будет у информационной системы
HostCMS я верю в вас! очень хочется помощи по данному вопросу...

заранее спасибо
ку
Модератор
#
Re: Реализация было - будет у информационной системы
compaq,
вместо:
<!-- Отображение записи информационной системы -->
      <xsl:apply-templates select="blocks/items/item[item_status=1]"/>


Указываем:
<!-- Выбираем первые 3 элемента (где позиция меньше или равна 3) -->
<xsl:apply-templates select="blocks/items/item[position() &lt;= 3]" mode="itemlist1" />

<!-- Выбираем первые 3 элемента (где позиция больше 3) -->
<xsl:apply-templates select="blocks/items/item[position() > 3]" mode="itemlist2" />


Обратите внимание на mode, в нем указывается, какой шаблон использовать.

Далее создадим тэмплейты, вместо
<xsl:template match="blocks/items/item">
...
</xsl:template>
укажем:

<xsl:template match="blocks/items/item" mode="itemlist1">
... // Здесь логика для первых трех
</xsl:template>

<xsl:template match="blocks/items/item" mode="itemlist2">
... // Здесь логика для всех остальных
</xsl:template>


Вот собственно и все. Значение 3 меняете на нужно или вычисляете выше, заносите в переменную и подставляете вместо тройки.
#
Re: Реализация было - будет у информационной системы
подниму тему тк не разобрался.


задача:

есть список концертов, нужно отобразить их в порядке убывания по дате(дата концерта то есть дополнительное свойство) + таким образом чтобы прошедшие концерты(элементы с прошедшей датой (доп-свойство) отображались в другом стиле


что сделаю:

выведу элементы инфосистемы, сделаю сортировку по дополнительному свойству дата

так? (пока не знаю как)

HostCMS писал(а):
Вот собственно и все. Значение 3 меняете на нужно или вычисляете выше, заносите в переменную и подставляете вместо тройки.


вот здесь и не понятно =)

нужно по дате этой(дополнительное свойство дата) и сделать визуальное отличие -  то есть элементы с прошедшей датой (дополнительное свойство дата) отображаются с помощью другого темплейта.


спасибо за помощь.
ку
Модератор
#
Re: Реализация было - будет у информационной системы
compaq писал(а):
что сделаю:
выведу элементы инфосистемы, сделаю сортировку по дополнительному свойству дата
так? (пока не знаю как)

Правильно. Сортировка по доп. св-вам описана в API и неоднократно обсуждалась на форуме.

compaq писал(а):
вот здесь и не понятно =)

Давайте начнем с того, что сделаете то, что выше. А потом обсудим.
#
Re: Реализация было - будет у информационной системы
А как отобрать из всех элементов только те, где дата (дополнительное свойство) - в будущем? Т.е. нужно вывести один случайный анонс.
http://superweb.pro/ — сайты на HostCMS под ключ
Модератор
#
Re: Реализация было - будет у информационной системы
plasmamedia,
Есть доп. св-во типа дата, нужно добавить доп. условие отбора (select), в котором указать где ID этого св-ва больше текущей даты. Текущую дату в MySQL формате получаете ф-ей date('Y-m-d H:i:s'
Примеры фильтрации по доп. св-вам есть в API и много раз приводились на форуме.
Авторизация