Получить имя первого документа в папке

14 messages Options
Embed this post
Permalink
na1s

Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
Есть ряд папок и документов в них. Но нет документа для корня. Как
получить первый элемент в папке?
Т.е. я хочу, чтоб при нажатии из корня сайта на ссылку с названием
папки, я переходил на первый документ или папку.
Как это попроще сделать?
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

na1s

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
Нужно ли писать код?
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

na1s

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
А все нашел, спасибо.

On 11 авг, 13:26, na1s <[hidden email]> wrote:
> Нужно ли писать код?
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Denys Mishunov

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
In reply to this post by na1s
Добрый день и Вам

On Aug 11, 2009, at 9:17 AM, na1s wrote:

> Есть ряд папок и документов в них. Но  
> нет документа для корня. Как
> получить первый элемент в папке?
> Т.е. я хочу, чтоб при нажатии из корня  
> сайта на ссылку с названием
> папки, я переходил на первый документ  
> или папку.
> Как это попроще сделать?

Попроще не получится. Нужно писать  
новый вид для вашей папки. Можно было  
бы поизвращаться с Коллекцией, делать  
ее дефолтным видом для папки и писать  
новый вид для этой коллекции, который  
бы отображал не просто список, а  
возвращал елемент, но это ненужные  
действия. Вам нужен новый вил для папки.

> Нужно ли писать код?


Непременно.

P.S.  Обычно люди начинают общение с  
приветствия. Ваши письма выглядят как  
запросы в 24/7 суппорт. Это так, на  
будущее ;)

--
Best regards,
Denys Mishunov
PLONE Design-Skinning-Development

mailto:[hidden email]
IRC: spliter(#plone)






--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Denys Mishunov

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
In reply to this post by na1s


On Aug 11, 2009, at 9:40 AM, na1s wrote:

> А все нашел, спасибо.


Интересно бы знать что и как нашли если  
кому-то в листе прийдется решать  
схожую задачу

--
Best regards,
Denys Mishunov
PLONE Design-Skinning-Development

mailto:[hidden email]
IRC: spliter(#plone)






--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Alexander Vesnenok

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
Мне показалось, что речь шла о назначение документа для вида по
умолчанию.Человек нашел, как назначить его для папки. Впрочем, могу и
ошибаться.
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

besja

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink

Кажись, так оно и есть)))
11.08.09, 12:19, "Alexander Vesna" <[hidden email]>:

> Мне показалось, что речь шла о назначение документа для вида по
> умолчанию.Человек нашел, как назначить его для папки. Впрочем, могу и
> ошибаться.
>
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Denys Mishunov

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
In reply to this post by na1s
On Aug 11, 2009, at 10:19 AM, Alexander Vesna wrote:

> Мне показалось, что речь шла о  
> назначение документа для вида по
> умолчанию.Человек нашел, как  
> назначить его для папки. Впрочем, могу  
> и
> ошибаться.

Не уверен, Александр.

On Aug 11, 2009, at 9:17 AM, na1s wrote:

> Т.е. я хочу, чтоб при нажатии из корня  
> сайта на ссылку с названием
> папки, я переходил на первый документ  
> или папку.

Для меня это означает что когда вы  
кликаете на ссылку ведущей к заветной  
папке, происходит либо редирект либо  
езе какая магия вызывающая первый  
объект в этой папке. Что означает что  
при перемещении объектов внутри папке  
или добавлении новых, результат вызова  
такой папки меняется. Это не тоже самое  
что назначить дефолтный документ. na1s  
четко указал: "Есть ряд папок и  
документов в них. Но нет документа для  
корня".

Поэтому было бы интересно узнать как  
была реализована такая идея

--
Best regards,
Denys Mishunov
PLONE Design-Skinning-Development

mailto:[hidden email]
IRC: spliter(#plone)






--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Alexander Vesnenok

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
Действительно было бы не плохо, если б рассказал :)
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

na1s

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
In reply to this post by Denys Mishunov
Да я так и сделал, добавил вид для папки
А код такой, я его нашел на сайте плона, но он достаточно тривиальный
folder_contents = context.getFolderContents()

for fc in folder_contents:

    if fc.portal_type == 'Folder' and not fc.exclude_from_nav :

        context.REQUEST.response.redirect(fc.getObject().absolute_url
())

        break # yes, you have to!

return ''
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Denys Mishunov

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink

On Aug 11, 2009, at 12:50 PM, na1s wrote:

> Да я так и сделал, добавил вид для  
> папки
> А код такой, я его нашел на сайте  
> плона, но он достаточно тривиальный

Замечательно. Единственное не уверен  
что в этом случае поддерживаются  
permissions (не проверял). Имеется ввиду что  
если первый документ в вашей папке не  
опубликован (аноним его не должен  
видеть) то этот код все равно будет  
пытаться вернуть этот  
неопубликованный элемент анониму. Что  
приведет к появлению формы логина  
вместо ожидаемого элемента. Может так  
и должно быть, но я бы, наверное допилил  
что бы возвращался не просто первый  
элемент, а первый элемент на котором  
пользователь имеет разрешение View.

Удачи

--
Best regards,
Denys Mishunov
PLONE Design-Skinning-Development

mailto:[hidden email]
IRC: spliter(#plone)






--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

besja

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
Кстати, при вызове метода getFolderContents() проверяется право List folder contents. Поэтому нужно смотреть, есть ли оно у анонимуса. Не знаю, как сейчас, но в 2.5 точно нужно было его выставлять вручную.
ИМХО, лучше использовать запрос к портал каталог, тогда точно при запросе будут учтены текущие права доступа и можно будет взять первый элемент из видимых текущему пользователю.

11.08.09, 15:44, "Denys Mishunov" <[hidden email]>:

> On Aug 11, 2009, at 12:50 PM, na1s wrote:
> > Да я так и сделал, добавил вид для  
> > папки
> > А код такой, я его нашел на сайте  
> > плона, но он достаточно тривиальный
> Замечательно. Единственное не уверен  
> что в этом случае поддерживаются  
> permissions (не проверял). Имеется ввиду что  
> если первый документ в вашей папке не  
> опубликован (аноним его не должен  
> видеть) то этот код все равно будет  
> пытаться вернуть этот  
> неопубликованный элемент анониму. Что  
> приведет к появлению формы логина  
> вместо ожидаемого элемента. Может так  
> и должно быть, но я бы, наверное допилил  
> что бы возвращался не просто первый  
> элемент, а первый элемент на котором  
> пользователь имеет разрешение View.
> Удачи
> --
> Best regards,
> Denys Mishunov
> PLONE Design-Skinning-Development
> mailto:[hidden email]
> IRC: spliter(#plone)
>
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Юрий Поляков

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink
 getFolderContents() вызываются анонимусом без проблем. Отображаются
только опубликованные документы.

2009/8/11 Бессарабова Ирина <[hidden email]>:

> Кстати, при вызове метода getFolderContents() проверяется право List folder contents. Поэтому нужно смотреть, есть ли оно у анонимуса. Не знаю, как сейчас, но в 2.5 точно нужно было его выставлять вручную.
> ИМХО, лучше использовать запрос к портал каталог, тогда точно при запросе будут учтены текущие права доступа и можно будет взять первый элемент из видимых текущему пользователю.
>
> 11.08.09, 15:44, "Denys Mishunov" <[hidden email]>:
>
>> On Aug 11, 2009, at 12:50 PM, na1s wrote:
>> > Да я так и сделал, добавил вид для
>> > папки
>> > А код такой, я его нашел на сайте
>> > плона, но он достаточно тривиальный
>> Замечательно. Единственное не уверен
>> что в этом случае поддерживаются
>> permissions (не проверял). Имеется ввиду что
>> если первый документ в вашей папке не
>> опубликован (аноним его не должен
>> видеть) то этот код все равно будет
>> пытаться вернуть этот
>> неопубликованный элемент анониму. Что
>> приведет к появлению формы логина
>> вместо ожидаемого элемента. Может так
>> и должно быть, но я бы, наверное допилил
>> что бы возвращался не просто первый
>> элемент, а первый элемент на котором
>> пользователь имеет разрешение View.
>> Удачи
>> --
>> Best regards,
>> Denys Mishunov
>> PLONE Design-Skinning-Development
>> mailto:[hidden email]
>> IRC: spliter(#plone)
>>
> >
>



--
  Юрий Поляков
    +7 (916) 806-00-55
    [hidden email]

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Denys Mishunov

Re: Получить имя первого документа в папке

Reply Threaded More More options
Print post
Permalink

On Aug 11, 2009, at 4:37 PM, Юрий Поляков wrote:

> getFolderContents() вызываются анонимусом без  
> проблем. Отображаются
> только опубликованные документы.

Хорошо. Тогда проблем быть не должно.

--
Best regards,
Denys Mishunov
PLONE Design-Skinning-Development

mailto:[hidden email]
IRC: spliter(#plone)






--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---