Найти - Пользователи
Полная версия: Вывод статей не работает
Начало » Zope/Plone/Bluebream » Вывод статей не работает
1 2 3
YOOra
Здравствуйте!
Заранее извиняюсь, если употребляю неправильные термины. С Zope почти не знаком, с Python - подавно. Но появилась проблема, которую необходимо решить в ближайшее время. Поэтому прошу помощи у вас.

Проблема в следующем: на странице есть вывод статей. раньше всё работало, а сейчас перестало. о причинах даже догадок нет. (сайт: hr-hunter.com)

Подробней:
Код вывода статей:
<UL tal:repeat="curs python:here.edu.getListCurs()[:6]">
<LI><a class=educate_pr tal:content="curs/title" tal:attributes="href curs/getURL"/><br>
<p class=educate_p><span tal:replace="structure curs/shortstory"/></p>
<p class=educate_d style="color:#EA0C0C;">начало: <span tal:content="python:here.getDateStr(date0=curs.publishdate)"/> </p>
</LI>
</ul>
edu.getListCurs
request = container.REQUEST
RESPONSE = request.RESPONSE

#Вычисляем город
shorttitle=getattr(request, 'city', '')

#Определяем диапазон дат для поиска
m=[['январь',31,1],['февраль',28,2],['март',31,3],['апрель',30,4],['май',31,5],['июнь',30,6],['июль',31,7],['август',31,8],['сентябрь',30,9],['октябрь',31,10],['ноябрь',30,11],['декабрь',31,12]]

if request.get('month','')!='':
ds=DateTime(DateTime(request.get('year','') + '/' + request.get('month','')+ '/01').Date())
for i in m:
if request.get('month','')==str(i[2]):
d_end=i[1]

de=DateTime(DateTime(str(d_end)+ '/' + request.get('month','') + '/' + request.get('year','')).Date())
res = container.Catalog.searchResults(path=['/hr_hunter/edu/seminar', '/edu/seminar'], meta_type='MIssue', visible='on', sort_on='publishdate', shorttitle=shorttitle, publishdate=[ds, de], publishdate_usage='range:max:min')

else:
res = container.Catalog.searchResults(path=['/hr_hunter/edu/', '/edu/'], meta_type='MIssue', visible='on', sort_on='publishdate', shorttitle=shorttitle, publishdate=DateTime(), publishdate_usage='range:min')


import ZTUtils
res = ZTUtils.LazyFilter(res, skip='')
#rest=[]
#rest.append(res)
#rest.append(ds)
#rest.append(de)

return res
соответственно, статьи лежат здесь: /edu/seminar/

Вот. Надеюсь, ничего не упустил?

Помогите, пожалуйста. Заказчик беспокоится.
astoon
<ul>
<li tal:repeat="curs python:here.edu.getListCurs()[:6]">
<a class="educate_pr" tal:content="curs/title" tal:attributes="href curs/getURL" />
<br />
<p class="educate_p" tal:content="structure curs/shortstory" />
<p class="educate_d" style="color:#EA0C0C;">
начало:
<span tal:content="python:here.getDateStr(date0=curs.publishdate)" />
</p>
</li>
</ul>
YOOra
Спасибо за помощь, но это немного не то.
Проблема вёрстки несущественна. Т.е., вывод <ul><li/></ul> не играет роли.
<p class=educate_p><span tal:replace=“structure curs/shortstory” /></p> и <p class=“educate_p” tal:content=“structure curs/shortstory” /> в результате приводит к одному и тому же результату, насколько я уже успел разобраться.

А вот основная проблема всё же осталась… Статьи не выводятся ни старым, ни Вашим методом.

Что ещё может быть?
Все ли исходники я дал, чтобы увидеть картину?

Ещё замечу, что каталог /edu/seminar/ содержит в себе другие каталоги, в которых находятся статьи. не знаю, насколько это важно, т.к. не знаю, как работает container.Catalog.searchResults()
astoon
YOOra
Спасибо за помощь, но это немного не то.
Проблема вёрстки несущественна. Т.е., вывод <ul><li/></ul> не играет роли.
<p class=educate_p><span tal:replace=“structure curs/shortstory” /></p> и <p class=“educate_p” tal:content=“structure curs/shortstory” /> в результате приводит к одному и тому же результату, насколько я уже успел разобраться.

А вот основная проблема всё же осталась… Статьи не выводятся ни старым, ни Вашим методом.

Что ещё может быть?
Все ли исходники я дал, чтобы увидеть картину?

Ещё замечу, что каталог /edu/seminar/ содержит в себе другие каталоги, в которых находятся статьи. не знаю, насколько это важно, т.к. не знаю, как работает container.Catalog.searchResults()
Я не проверстку говорю. Смотрите внимательнее, что я написал.
Скрипт не смотрел, но ошибка в TAL явно бросилась в глаза.
YOOra
Я извиняюсь, но где ошибка? в нашем случае мы заменяем тег SPAN содержимым curs/shortstory, а в Вашем мы помещаем его в тег P. (это вопрос, т.к. я больше в PHP разбираюсь, чем в Python/Zope).
Кстати, до кучи, в чём разница между употреблением конструкции structure и её отсутствием?

Только что для скрипта edu.getListCurs нажал кнопочку Test, ввёл данные (month='02', year='2008', city='Москва'), нажал RunScript и получил ошибку:
Тип ошибки: UnboundLocalError
Значение ошибки: local variable ‘d_end’ referenced before assignment
… но полагаю, это не относится к делу. только что посмотрел другой скрипт, который вызывает этот метод - всё отрабатывается без проблем.
astoon
YOOra
Я извиняюсь, но где ошибка? в нашем случае мы заменяем тег SPAN содержимым curs/shortstory, а в Вашем мы помещаем его в тег P. (это вопрос, т.к. я больше в PHP разбираюсь, чем в Python/Zope).
Дело не в этом.
tal:repeat - это повторение по циклу. У Вас получается что повторяется html-тэг ul, а должен повторяться тэг li, что я и написал.
А `span` или `p` - это, конечно, не существенно, я так написал по привычке, так как не люблю лишний код и тем более лишний HTML.

YOOra
Кстати, до кучи, в чём разница между употреблением конструкции structure и её отсутствием?
structure означает отрендерить html-тэги. Т.е. если curs/shortstory возвращает некий HTML-код, то без structure в браузере будут отображаться тэги (т.е он конвертирует в &lt; &gt; для браузера и тд).
YOOra
astoon
Дело не в этом.
tal:repeat - это повторение по циклу. У Вас получается что повторяется html-тэг ul, а должен повторяться тэг li, что я и написал.
Да. Но это всё же проблема вёрстки. Т.е., насколько я понимаю, меняется только стиль вывода. Эта проблема меня не сильно задевает. я ставил и Ваш код - и результат всё тот же. ( есть ещё какие-нибудь мысли?

astoon
YOOra
Кстати, до кучи, в чём разница между употреблением конструкции structure и её отсутствием?
structure означает отрендерить html-тэги. Т.е. если curs/shortstory возвращает некий HTML-код, то без structure в браузере будут отображаться тэги (т.е он конвертирует в &lt; &gt; для браузера и тд).
спасибо
astoon
Тогда не знаю. Без специальных знаний тебе надо поэксперементировать примерно с таким кодом:
res = container.Catalog.searchResults(
path=['/hr_hunter/edu/', '/edu/'],
meta_type='MIssue',
visible='on',
sort_on='publishdate',
shorttitle=shorttitle,
publishdate=DateTime(),
publishdate_usage='range:min')
return res
,правильные ли параметры поиска заданы (смотреть в каталог), посмотреть, проиндексированы ли вообще статьи, установлен ли каталог.
YOOra
оки. спасибо большое за интерес к проблеме.
gard
ОФигеть!.. это сайт на Zope???
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB