Архив - только для чтения
Сообщество uCoz » Архивариус » Архив » Архив темы: Информеры
Архив темы: Информеры
dreadful
Сообщений: 23
Репутация: 20

Сообщение # 31 | 18:58:29
Задача: сделать информер (с одной строкой текста), чтобы он выводился только на заданных материалах раздела статей. Можно и вручную, но к сожалению материалов 1800+.
Вопрос: Возможно ли использовать в информере ряд чисел к примеру 1....1860, чтобы получить подобное
Quote
<if>puEnt1....puEnt1860<endif>

Если хочешь видеть результаты своего труда немедленно - иди в сапожники
olegsuv
Сообщений: 1365
Репутация: 127

Сообщение # 32 | 04:33:45
[dreadful_live_football], в шаблоне страницы материала информер вставить в условие на соотв ид.
Можно условия делать диапазонного типа, а не на точное сравнение.

Любые работы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
dreadful
Сообщений: 23
Репутация: 20

Сообщение # 33 | 09:03:15
Можно условия делать диапазонного типа, а не на точное сравнение.
А как? Вроде этого?
Quote
<?if(substr($URI_ID$,-3)>'1' and substr($URI_ID$,-3)<'1860')?>

Если хочешь видеть результаты своего труда немедленно - иди в сапожники
olegsuv
Сообщений: 1365
Репутация: 127

Сообщение # 34 | 13:38:32
Quote (|dreadful_live_football|)
Вроде этого?

У вас в условии сравнение со строкой. Строки пишутся в кавычках. Числа без кавычек.

Любые работы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
Водила
Сообщений: 18
Репутация: 2

Сообщение # 35 | 20:47:07
Здравствуйте, уважаемые.
Решил сделать информер для коментариев и столкнулся с проблемой неотображения смайлов. Почитал тему "Информеры" и вот здесь нашел ответ на свой вопрос. Скажите, разве технически невозможно, чтобы код $SMILES$ вдруг чудесным образом оказался в списке разрешенных для использования в информерах? Люди пишут коменты, выражая свои эмоции с помощью смайлов, это логично, для того их и придумали. Но нет никакой, с моей точки зрения, логики исключение кода $SMILES$ из информера.
Надеюсь на ответ по моему вопросу - чудеса еще случаются? Появится код $SMILES$ в информерах в текущее столетие?
Сообщение отредактировал Водила - Четверг, 28 Июл 2011, 20:47:46
sch779
Сообщений: 703
Репутация: 348

Сообщение # 36 | 13:57:20
Quote (VelFaramey)
и если некорректно тег обрезан

Ну и какие проблемы?
Прямо в шаблоне информера с помощью УО проверяйте закрытие последнего тэга и если он не закрыт, то удаляйте все от начала тэга до конца строки.
Что-то типа:
Code
<?if((strrpos($MESSAGE$,'<img ') != -1) AND (strpos(substr($MESSAGE$,strrpos($MESSAGE$,'<img ')),'>') = -1))?>
Выводим в информер только начало сообщения до последнего незакрытого тэга img - т.е. вместо $MESSAGE$ подставляем substr($MESSAGE$,0,(strrpos($MESSAGE$,'<img ')-1))
<?else?>
В сообщении нет нужного тэга или он закрыт - выводим просто $MESSAGE$
<?endif?>
Т.е., ищем последнее вхождение подстроки "<img " и если такая есть, то в хвосте сообщения (от этого последнего тэга) ищем закрывающую скобку - если ее нет, то тэг незакрыт и надо хвост сообщения (начиная с этого тэга) удалить.
Естественно, предполагается, что в настройках информера явно задана максимальная длина выводимого сообщения и сообщение такой длины может быть полностью отображено в блоке вывода (без промежуточных "обрезаний").
Ну и, предполагается, что внутри тэга img смайла не встретится символ ">".
Сообщение отредактировал sch779 - Вторник, 09 Авг 2011, 14:02:33
Абсолют
Сообщений: 7
Репутация: 0

Сообщение # 37 | 14:31:31
Подскажите, пожалуйста, можно ли сделать информер для каталога (Доска объявлений), где используется возможность вхождения материала сразу в несколько категорий.
Нужен информер, который сделает выборку материалов по такому принципу:
Допустим, у меня в разделе 10 категорий. ВСЕ материалы обязательно входят в одну из категорий 1 или 2, а также могут быть размещены еще в нескольких других из 8-ми оставшихся. Мне нужно в информере вывести материалы из категорий 1+2, но без тех, что входят в категорию, например, 7.
Возможно ли это?
Сообщение отредактировал Абсолют - Вторник, 09 Авг 2011, 14:32:35
sch779
Сообщений: 703
Репутация: 348

Сообщение # 38 | 14:55:56
Quote (Абсолют)
Мне нужно в информере вывести материалы из категорий 1+2, но без тех, что входят в категорию, например, 7.

Такой фильтрации в информерах нет.

Вариантов решения два:

1. Купить услугу PHP-код и скриптом на сервере сначала взять объявления из категории 7 во временный массив, после чего брать объявления из категорий 1, 2 и проверять их на вхождение во временный массив (где все объявления категории 7)

2. Создать страничку (pageInfo127), на которую вывести два информера - в первом только категория 7, во втором категории 1 и 2. На странице, где необходимо выводить отфильтрованные объявления, создать блок для вывода и вставить вызов Javascript-скрипта, который с помощью JQuery-Ajax загрузит в свой временный буфер страничку pageInfo127, потом с этой странички загрузит во временный массив объявления категории 7 и по этому массиву будет отфильтровывать объявления из категорий 1 и 2, которые так-же будет брать из загруженной страницы pageInfo127. Отфильтрованные объявления этот скрипт будет выводить в подготовленный блок.

В принципе, оба варианта делают одно и то-же, только если в первом варианте весь процесс фильтрации производится прямо на PHP-сервере и на страницу сайта попадают только уже отфильтрованные объявления, то во втором случае все объявления подгружаются в браузер пользователя, где и производится их фильтрация.
Хотя сам алгоритм второго варианта кажеться большим и сложным - на самом деле подобный скрипт отработает достаточно быстро. По крайней мере, сам процесс фильтрации займет значительно меньше времени, чем задержки на загрузку данных с uCoz-сервера!
sch779
Сообщений: 703
Репутация: 348

Сообщение # 39 | 21:58:18
Quote (Абсолют)
выборку записей из категорий 1+2 по слову "белый" в $TITLE$ реально сделать в информере?

Без проблем!
Создаете информер по нужному модулю. В настройках информера открываете секцию "Дополнительные опции" и в поле "Список ID категорий" вписываете строку "1, 2" (без кавычек, естественно!). Пол-дела есть - теперь этот информер будет выводить материалы только из категорий 1 и 2.
Следующий шаг - создание фильтра по заданному слову в заголовке материала с помощью условных операторов в шаблоне информера.
Для этого кликаем на ссылку "Шаблон информера" справа от названия информера в общем списке информеров.
В открывшейся форме заключаем весь код шаблона в рамки условного оператора:
Code
<?if(strpos($TITLE$,'белый') != -1)?>
... Здесь весь шаблонный код информера ...
<?endif?>

Только следует учесть несколько моментов:
- функция strpos работает только с первыми 1000 символами заданной строки
- поиск регистрозависимый; т.е., вышеприведенный код не найдет слово 'Белый'; язык шаблонов, к сожалению, не содержит никаких средств для реализации регистронезависимого поиска или сравнения
- вышеприведенный код ищет не слово, а просто подстроку; т.е., вышеприведенный код, к примеру, сработает на заголовок, содержащий слово "черно-белый"; для гарантированного срабатывания на заданное слово следует предпринять некоторые меры - к примеру, писать в заголовке слово "[белый]" и искать именно это сочетание символов.
Абсолют
Сообщений: 7
Репутация: 0

Сообщение # 40 | 00:29:40
sch779, УРАААА!!! Работает! Мне это подходит, СПАСИБО!
Маленькое уточнение. Возможно ли несколько слов искать в $TITLE$? т.е. белый и БЕЛЫЙ, например, раз с учетом регистра.
sch779
Сообщений: 703
Репутация: 348

Сообщение # 41 | 04:26:38
Quote (Абсолют)
Возможно ли несколько слов искать в $TITLE$?

Да, естественно!
Что-то типа:
Code
<?if((strpos($TITLE$,'белый') != -1) OR (strpos($TITLE$,'БЕЛЫЙ') != -1) OR (strpos($TITLE$,'Белый') != -1))?>  
... Здесь весь шаблонный код информера ...  
<?endif?>
sch779
Сообщений: 703
Репутация: 348

Сообщение # 42 | 02:15:34
Quote (Аспид)
среднее число для каждого отдельного пользователя хотелось бы

Тогда нужно использовать API.
Со страницы http://USER_SITE/api/index/46-*-*-*-* можно взять количество сообщений пользователя на форуме (USERFORUMENTRIES_NUM).
А со страницы http://USER_SITE/api/index/8-*-*-*-* можно взять дату регистрации пользователя на сайте (USER_REGTIMESTAMP).
После этого:
- определяете время "жизни" пользователя на сайте в днях var LifeDays = (new Date() - USER_REGTIMESTAMP) / (1000*60*60*24)
- высчитываете среднее кол-во сообщений на форуме за один день: var Average = USERFORUMENTRIES_NUM / LifeDays
SiriusBlack
Сообщений: 16
Репутация: -3
Уровень замечаний:

Сообщение # 43 | 11:28:43
Не пойму чего у меня информер показует что у меня 77 посетителей когда у меня 82, информеры считают заблокированых? их у меня какраз 5 и у меня показано что зарегистрировано вчера 1 человек но я точно знаю что вчера у меня никто не ригистрировался, почему так? может я что-то не правильно делаю? я так и не пойму как с ним обращаться, вот что я натворил:
<div><strong>Всего:$ALL_USERS$</strong></div><div><strong>Зарегистрировано:</strong></div><div><strong>Сегодня:$TODAY$</strong></div><div><strong>Вчера:$YESTERDAY$</strong></div><div><strong>За неделю$7DAYS$</strong></div><div><strong>За месяц$30DAYS$</strong></div><div><strong>Парней:$GENDER_1$</strong></div><div><strong>Девушек:$GENDER_2$</strong></div><p><br></p>

Сообщение отредактировал SiriusBlack - Воскресенье, 14 Авг 2011, 11:36:42
olegsuv
Сообщений: 1365
Репутация: 127

Сообщение # 44 | 14:39:34
Острый вопрос: можно ли в информере каталога файлов вывести флаг, указывающий на активность материал (активен/не активен).
Делаю центр координации модераторов, не хватает этого флага для счетчика.

Любые работы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 45 | 18:02:29
mob_dp2,
Не активные материалы в информер не попадают вообще, так что “флаг” в информере будет всегда активен ....

Системно - нет.

Если только заюзать доп.поле, и при активации обнулять его скриптом .... или любой другой свободный параметр, типа «Тип лицензии», например ... Но информеры кешируются ... так что ....
....

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
Сообщение отредактировал fflesh - Четверг, 18 Авг 2011, 18:27:44
Сообщество uCoz » Архивариус » Архив » Архив темы: Информеры
Поиск: