PDA

Просмотр полной версии : Вывод определенных новостей tt_news


Tod
16.10.2007, 17:06
Есть необходимость выводить новости, которые определяет пользователь через админку. То есть это эемент LIST, для которого явно нужно указать какие id новостей выводить.
Интересует есть ли модуль для этого?
1. Есть варинат создать категорию что-ти типа "новости на главной" и присваивать нужным новостям, но это нужно удалять старые, назначать новые. Хотелось бы в одном месте или через TS задать перечень и не мучаться:)
2. Делаю через RECORDS, но такая морока с этим:
- нужно учитывать куда переходят новости той или иной категории (сделал)
- нужно считывать картинку и уменьшать (идеи есть, но это гемороя столько)
- непонятно как правильно считать "текст подзаголовкка", в админке он разбит на абзацы, через ТS выводится сплошным текстом:(

Искать по tt_news в репозитории, ничего не нашел, увы. Может кто-то сталкивался с подобным заданием или что посоветуете предпринять?)

thebat
18.11.2007, 20:08
Tod, как ты решил эту задачу или ты что-то нашел (ext) для решения этой задачи?

void
18.11.2007, 20:39
Можно попробовать через контент-элемент insert records

thebat
18.11.2007, 20:44
Пример TS есть...? К примеру мне нужно 5 записей новостей которые я укажу ...
uid_list = {$news_list}
где ... {$news_list} ... 1,2,3,4,5 и вывести их header (title)
может это...temp.newsuid = RECORDS
temp.newsuid {
source.data = GPVar:tt_news
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
}

void
18.11.2007, 22:06
Insert Records - фактически, RECORDS, только вставленные в виде контент-элемента. Часть с conf вообще не нужна по-идее - при установке tt_news определяют элемент верхнего уровня tt_news, который будет использоваться для рендеринга RECORDS.

thebat
18.11.2007, 23:29
Спасибо, Void!
Что-то из этого я понял, а что-то нет из того, что я понял, вышло вот это …смотри ниже.
Вот этот...temp.myTest = RECORDS
temp.myTest {
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
}Практически делает, то, что мне нужно, он вывел только заголовки указанных записей новостей, за исключением того, что нет ссылок на эти записи новостей. Как сделать, чтобы били ссылки на полный вид новости.?

void
19.11.2007, 03:20
ну можно попробовать typolink... типа
typolink.parameter.data = TSFE:id
typolink.additionalParams = &tt_news[uid]={field:uid}
typolink.additionalParams.insertData = 1

Но вообще говоря для этого есть LIST/LATEST

thebat
19.11.2007, 19:10
Поставил вот так...temp.myTest = RECORDS
temp.myTest {
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
conf.tt_news.typolink.parameter.data = TSFE:id
conf.tt_news.typolink.additionalParams = &tt_news[uid]={field:uid}
conf.tt_news.typolink.additionalParams.insertData = 1
conf.tt_news.typolink.additionalParams.required = 1
}Линк появился, но, к сожалению не правильный…
http://www.name.net/page1/?tt_news%5Buid%5D=57 ..., а должен быть такой ... http://www.name.net/page2/news/57/ ... номер записи новости определяется правильно, а вот страница на которой записана эта запись новости, определяется не правильно, почему?
У меня новости разбросаны по всем страницам …, как теперь сделать правильный линк?:confused:
Но вообще говоря для этого есть LIST/LATESTЭто понятно, так было бы очень хорошо, но как это сделать вот в чем вопрос?temp.Articles < plugin.tt_news
temp.Articles {
code >
code = LIST
limit = 5
}Как заставить эту конструкцию выводить 5 указанных мною записей?

thebat
20.11.2007, 20:40
Проблема практически решена, за исключением одного …, но

…вот…temp.myTest = RECORDS
temp.myTest {
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
conf.tt_news.typolink.parameter = 394
conf.tt_news.typolink.additionalParams = &tx_ttnews[uid]={field:uid}
conf.tt_news.typolink.additionalParams.insertData = 1
}
Одно, что не решено, связано с этим кусочком кода…
conf.tt_news.typolink.parameter = 394
Весь единичный показ новостей привязывается к этой (одной) странице, что мне совсем не подходит, потому, что у меня новости разбросаны по всем страницам сайта, не на одной… На той странице, где находятся записи новостей, там работает "code = LIST" и "code = SINGLE"
Вопрос:
Как ..., Что надо прописать, что бы здесьconf.tt_news.typolink.parameter = 394прописывался ID страницы выводимых указных мноюsource = 340,25,60,145,62UID новостей…?

shuman
21.11.2007, 13:31
Интересно пройдет это?:
temp.myTest = RECORDS
temp.myTest {
renderObj = COA
renderObj {
2 = LOAD_REGISTER
2.MY_VALUE.field = pid
}
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
conf.tt_news.typolink.parameter = register:MY_VALUE
conf.tt_news.typolink.additionalParams = &tx_ttnews[uid]={field:uid}
conf.tt_news.typolink.additionalParams.insertData = 1
}

dmartynenko
21.11.2007, 15:36
Как ..., Что надо прописать, что бы здесьconf.tt_news.typolink.parameter = 394прописывался ID страницы выводимых указных мноюsource = 340,25,60,145,62UID новостей…?
Но ведь сами новости "не знают", на какой странице они выводятся, тем более что они обычно хранятся на страницах типа "Системная директория".

А как вы выводите разные новости на разных страницах?
Если отбором по категориям, то может и где-то и прописать соответствие категория новости <-> страница отображения?

Еще один вариант решения связан с программированием - можно написать свою php функцию, которая будет делать необходимую логику и возвращать номер страницы по номерам новостей.

shuman
21.11.2007, 16:27
Но ведь сами новости "не знают", на какой странице они выводятся, тем более что они обычно хранятся на страницах типа "Системная директория".

А как вы выводите разные новости на разных страницах?
Если отбором по категориям, то может и где-то и прописать соответствие категория новости <-> страница отображения?

Еще один вариант решения связан с программированием - можно написать свою php функцию, которая будет делать необходимую логику и возвращать номер страницы по номерам новостей.

почему же - thebat написал что новости разбросаны по страницам на которых есть LIST и SINGLE - так что осталось pid использовать

thebat
21.11.2007, 21:11
Интересно пройдет это?:
temp.myTest = RECORDS
...
renderObj {
2 = LOAD_REGISTER
2.MY_VALUE.field = pid
}
...
conf.tt_news.typolink.parameter = register:MY_VALUE
...
}
Нет не проходит. Это тупо в ссылке выводит во это "register:MY_VALUE".
Может надо поиграться этим "2 = LOAD_REGISTER"? Одним словом это не работает... Надо найти, что-то другое, может у кого-то есть еще какие-то предложения на этот счет?

Pavel Antonov
22.11.2007, 02:39
conf.tt_news.typolink.parameter.data = register:MY_VALUE

thebat
22.11.2007, 16:59
... .parameter.data = ...
Нет, это тоже ничего не дало, ссылка вообще исчезла …
Я знаю, что решение есть, но вот как это решить, пока не знаю…???:confused:

thebat
15.12.2007, 20:10
Все спасибо! Задача решена.typolink.parameter = TEXT
typolink.parameter.field = pid
typolink.parameter.insertData = 1
typolink.additionalParams = &tx_ttnews[tt_news]={field:uid}
typolink.additionalParams.insertData = 1