flexinod - настройка отображения

Главные вкладки

Аватар пользователя Cats Cats 17 января 2005 в 12:48

привет

подскажите, пожалуйста, как настроить вывод полей созданных через флексинод, так как мне нужно ?
в ридми к флексинод написано:

To create a custom presentation for your new content type, add logic in your theme's node function to switch on the node type and print out the fields in the way you choose. The fields are all named flexinode_n where n is the
field ID.

можно пример добавления "logic in your theme's node function " ?

Комментарии

Аватар пользователя axel axel 18 января 2005 в 13:52

По-моему имелось ввиду, что надо переписать в своей теме оформления функцию выводящую ноды. Для нодов например themeable функция выводящая содержимое ноды: theme_node(). Её надо переопределить в своей теме (название её будет yourtheme_node()). См. http://drupaldocs.org/api/4.5/function/theme_node

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

--
Axel

Аватар пользователя Cats Cats 19 января 2005 в 10:59

спасибо за ответ..
ээ.. а как это сделать? неужели никто под себя не настраивал, чтобы привести пример своего кода Sad
у меня пока получается влиять в целом на какие-то элементы из которых состоит материал. ну например все картинки теперь выводятся без названия поля, которое их создает. но как например сделать, чтобы картинка была справа от предыдущего текстового поля, а не под ним я не могу придумать Sad
или как сделать, чтобы некоторыем элементы показывались только в тизере ? для всех нод я в шаблоне это смогла настроить, но как в этот шаблон добавить про оформление именно флексинодовских нод я не соображу никак Sad

Аватар пользователя axel axel 30 января 2005 в 2:08

Quote:
неужели никто под себя не настраивал, чтобы привести пример своего кода
Sorry, не довелось. Один раз пробовал приспособить flexinode под себя, но разобрав его внутренности - бросил. Идея конечно красивая, создавать произвольные типы нодов ничего не программируя, но реализация не порадовала. Лучше уж потратить ресурсы на допрограммирование своего типа документа с нужными полями, который будет работать эффективно на сайте под нагрузкой, позволит поиск по всем своим полям и всё прочее, что во flexinode было сделано просто никак (не знаю, может улучшилась, давно этот модуль не смотрел). По-моему единственное сейчас применение flexinode, это когда необходимо дать возможность пользователям создавать новые виды документов/форм для заполнения, но мне такая задача в жизни ни разу не попадалась.

Однако с интересом жду flexinode-2 - http://jonbob.drupaldevs.org/cck

--
Axel,
www.axel.drupal.ru

Аватар пользователя kiev1 kiev1 30 января 2005 в 15:31

Тут все очень просто - он недоделанный это очевидно! Ввод есть а вывода нет. Давайте возьмем и напишем малюсенький модуль наподобие taxonomy_browser в котором сделаем возможность конструировать фильтры которые будут показывать в виде таблицы с полями flexinode все ноды. Вобщем-то это то чего и не хватает и это несложно. Да хоть-бы и сам taxonomy_browser переделать и назвать flexinode_browser, хотя в идеологиях я боюсь запутался, боюсь только что оно уже где-то есть или я что-то не так понял...

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

Аватар пользователя axel axel 30 января 2005 в 16:49

Нет, не решает, поскольку нагрузка не только на ввод, но и при выводе выборку делать там неудобно. Кеш работает фактически только для анонимных юзеров, регистрированные пользователи будут ловить тормоза. И кроме плохой масштабируемости там ещё недостатков хватает. Поиск по полям flexinode например работает сейчас или по-прежнему нет? Броузер по этим полям a la taxonomy_browser конечно поможет, но всех проблем не решит. И я уже привёл ссылку выше - там критика от самого автора модуля. Приведенные там же идеи по её исправлению мне видятся верными. Тут надо архитектуру модуля менять. Городить огород на том что есть - по-моему только плодить тормозные сайты, которые этот модуль задействуют.

--
Axel,
www.axel.drupal.ru

Аватар пользователя kiev1 kiev1 30 января 2005 в 17:56

http://jonbob.drupaldevs.org/cck - я смотрел - но там непонятно одно - где скачать его изобретение.
Вообще в друпале я так понял идеология того что документ принадлежит ко многим категориям это и есть какой-то прообраз flexinode потому и даже есть модуль позволяющий в одну ноду вставить другие ноды - таким образом имеем например для каталога фотографий такую взаимосвязанную конструкцию из связанных словарей - отдельно фотографии (один словарь его обслуживает фотогалерея) их описания - статьи (термин второго словаря store) их авторы (термин второго словаря) их города (термин второго словаря) - а потом создавать сами объекты собирая в одну ноду нужные ноды: фото,статья-описание, автор и город из этих двух словарей. Таким образом можно обеспечить потом связанный вывод и по авторам и по городам и еще по чему-нибудь, а одна проблема остается - красивый быстрый ввод. Так вот как я понял flexinode - это красивый быстрый ввод но с уходом от такой идеологии друпала.

А сам flexinode реализован вполне понятно и очень просто - все в трех таблицах данные-flexinode_data поля с привязкой к типу ввода-flexinode_field и перечень типов ввода-flexinode_type вроде все понятно и просто - а что не устраивает? и индексы в таблицах вроде есть - тормозить не должно.

Аватар пользователя axel axel 30 января 2005 в 18:27

По-моему пока нигде нельзя скачать, т.к. не сделано ещё. Это планы на будущее.

Quote:
ввода-flexinode_field и перечень типов ввода-flexinode_type вроде все понятно и просто - а что не устраивает? и индексы в таблицах вроде есть - тормозить не должно.
Тем, что имеет смысл данные разных типов заносить в разные таблицы. Тексты отдельно, даты отдельно и т.д. Мешать их в одной таблице flexinode_datа не есть верно, несмотря на индекс. Сорри, но рекомендую всё же прочесть статью по ссылке Wink Там про это написано.

--
Axel,
www.axel.drupal.ru

Аватар пользователя kiev1 kiev1 30 января 2005 в 20:22

если ввести http://ваш_сайт/flexinode/search/1 - где 1 - это наш новый тип - его ID - то появляется красивый поиск или сортировка по полям созданного типа - может то что и надо пока
но там еще есть http://ваш_сайт/flexinode/table/1 - это тоже то что было надо