Вы сделали так: print render(field_view_field( 'profile2' , $profile [ 'main' ] , 'field_numofholding', $options )) ; У вас ничего не вывело! Пустое значение. Это грубо говоря, первая строка. Для проверки засуньте функцию в девел: dpm(field_view_field(...));
Потом вы сделали вывод термина таксономии: print $profile['main']->field_numofholding['und'][0]['taxonomy_term']->name; Это у вас вывело имя термина, строка номер два.
А в строке номер три у вас отработал рендер всего массива, в котором есть ваше термин таксономии, и который вывелся на страницу при рендере.
Только что глянул шаблон анвансед форума, понятно что у вас другой, но все же. Так вот данные не вываливаются полностью в шаблон, а страница собирается на лету, дергая все время шаблон. То есть всего массива с данными там нет. А значит нужно найти переменную в которую передается информация о комментаторе. Как правило, переменные описываются в начале шаблона в комментарии. В адвансед форуме это $account. Из нее вытаскиваем ид юзверя: $account->uid А дальше вы уже получаете нужное вам поле и записываете его префикс или еще как.
Так ведь смотрите в чем беда, вы ведь получаете из профиля идентификатор именно автора ноды $comment->uid
А вам нужно взять идентификатор каждого пользователя в каждом комментарии! Для этого нужно более внимательно посмотреть структуру массива в dpm. Если у вас выводится десять комментариев, то в массиве должно быть десять ключей со своими массивами. И в каждом есть информация о пользователе и его uid. Вы можете прогнать циклом эти значения и добавить к каждому, например, префикс с данными (как один из вариантов). Например, как-то так (это только общая идея):
Мы сейчас обсуждаем не совсем понятно что. Какой шаблон, комментариев? Какая задача стоит, четко только и понятно. Может вообще все по другому можно сделать или должно быть.
Знаете такую датскую компанию Берлингское-Медиа (огромный медиа холдинг)? Вот они продают платный контент. У истоков создания их сайта (36 шкафов сейчас стоит) стояло несколько главных создателей Друпал. Там друг мой работает. Так у них такой штат сениоров, и у них такой бюджет, что можно завод по производству чего-то построить на эти деньги. И каждый день перед ними стоят тяжелые технические задачи. Процесс вообще непрекращающийся. Не буду вас грузить техническими подробностями.
Если вы потом рендерите весь контент, то вы опять выводите те поля, которые уже вывели. К примеру получаем название:
$name = $profile['main']->field_numofholding['und'][0]['taxonomy_term']->name;
print $name; - вывели где надо вам это значение. И если вам данные этого поля больше не нужны и вы не хотите их выводить, то удалите их:
unset($profile['main']->field_numofholding); - это вы полностью грохнули поле из массива
Ну вам, наверное виднее. Зачем нужны всякие там мерсы, бэхи и ауди. Глупые люди за бугром изобретают свои велосипеды, пока умные шпарят ВАЗы и рубят на этом капусту. А зачем производят постоянно совершенные и мощные ноутбуки, ведь есть же уже дрова на Селеронах с ТН матрицами, умные на них зарабатывают. Да и вообще разрабатывают архитектуру и более продуманные, гибкие и масштабируемые решения только дураки, а умные ставят ВП в один клик, и рубят бабло. И только по иронии судьбы мы с вами встретились на этом форуме "дураков", где с печалью наблюдаем, как "умные" рубят бабло.
Давайте мухи отдельно, котлеты отдельно. Автолюбители = пользователи CMS. Слесари с образованием = разработчики. То что вы получили права (у нас в стране скорее прикупили, чем все честно сдали, к слову так) не дает вам знания устройства ходовой, двигателя или электрики. Про опыт вообще молчу. У слесаря же есть нужные знания и опыт. Если автолюбитель решил чинить сам свой автомобиль, просто почитав этот форум, ради бога, я не против. В итоге просто профессионалу придется заплатить гораздо больше, да и глазки в пол тупить, рассказывая, что это не я, это кто-то другой тут "напочинял".
Вот как мне прописать функцию и распечатать?
Так? print $profile['field_numofholding'][LANGUAGE_NONE][0]['taxonomy_term'];
Смотря, что тебе нужно вывести. Если полностью сущность поля, то:
print render($profile['field_numofholding']);
Если имя термина, то путь к имени термина без рендера.
С панелью может быть проблема. Так как панель, это не просто шкурка, а целая система со своими версиями пыхи, мускула и настройками. Скорее всего в этом дело. Гляньте phpinfo, посмотрите отчет о состоянии, может какие косяки выдаст в настройках. Еще может быть шляпа в настройках апача у хостера. Ведь как аякс срабатывает, происходит вызов друпал роутера, и через ссылку вызывается колбек с передачей в него параметров и данных. И вот на этом этапе у вас и происходит глюк.
Утром поставил, а вечером выстрелил
Вспомнился анекдот про скорость выращивания картошки. Победили на соревнованиях вьетнамцы. Утром посадили, вечером собрали. На вопрос, в чем секрет - очень кусать хосеся.
«отсылаете на сервер опять объект ноды» - к словам цепляетесь, суть вы уловили.
В энтити риференс вам будет сразу доступен объект ноды(StdClass), если не в курсе (или по вашему что произойдет при рендере?)! Проверять поле нужно, это факт. Но разве для вас if else - это проблема? С вьсом вообще никаких проблем, работать просто красота! Выводите данные в шаблон таблицы! И получаете сырой массив данных $rows. Делайте с ним, что хотите. Учитывать локализацию, это вы о чем? Вместо und, eng или ru? Это проблема? Сдвигать массивы умеете?
Не обижайся, дружище. Жизнь штука сложная. Друпалеры люди суровые. Но ведь и ты, наверняка, не понял бы такого предложения, если бы в твоей тематике потенциальный твой клиент такое бы выдал. Вот и результат.
Это все в теории! Прямо как в университетах обучают на экономистов. Выходит студент в жизнь после пятого курса, приходит работать в компанию, и через пару дней понимает, как именно устроен этот мир. И его утешает всего один момент, что хоть корочка есть и больше ничего. А о клиентах, их желаниях и мотивации я могу вам так много рассказать, что хватит на очень многочасовую лекцию.
Я хочу сказать, что использование функций ядра для получения каких либо данных, или еще чего-то в ШАБЛОНЕ - ЭТО ЗЛО!!!!!!!!! Черное и гадкое! И это можно называть правильным друпал путем или еще как-то, но все телодвижения с ядром, должны оставаться в контроллере, в нашем конкретном случае, в модуле, отправляющем данные в шаблон. Шаблон - это оперирование с финальными данными. Одевание во враперы, прикрепление классов и т.п. Поэтому, все функции field_get_items(), field_view_field(), field_view_value() и др.
Мое мнение, что это в корне все неправильно. Если человеку не хватает денег на БМВ, и в салоне его послали куда подальше, то он пойдет и от обиды купит ВАЗ, но у более культурных продажников. Поэтому, давайте человека в салоне БМВ успокоим, приголубим и дадим чайку с пирожком. Вдруг он накопит денежек и купит бэху, а не ВАЗ. Так так что ли? Это какой-то сельско-колхозный подход. Нужно формировать культуры не только разработчиков, но и заказчиков. А сделать это можно только через специализированных людей, которые умеют грамотно работать и с заказчиками и с разработчиками.
«А тут уже все зависит от того, как именно вы будете организовывать систему переводов. Я чаще всего делаю, как локализацию. Вон http://best-house.org двух язычный. Все пашет без проблем. Правда перевод только интерфейса, без контента. Но так ведь и при получение значения поля через функции ядра, вам тоже нужно передать $language->language Если вы используете не локализацию, а перевод!
Не нужно извинятся. Может я и не прав. Тогда ткните носом, буду благодарен. А ваш ответ смахивает на: ты неправ, вали отсюда, кури доки, учи матчасть. Хамство за вежливым ответом не спрятать.
Я с вами согласен. Это проблема, и не только в Друпал. Но если в цивилизованном мире в роли "арбитра" выступает продакт менеджет компании, разбирающийся в создании ТЗ, в алгоритмах, которая может подобрать команду на проект, то у нас, каждый сам себе режиссер. Лично я не знаю, как можно удовлетворить потребности обоих сторон. Вот смотрите, Друпал.ру и Дру.ио созданы с какой целью? Объединить на своей базе профессионалов!!! Если нет профессионалов, которые составляют костяк этих проектов, то эти сайты не имеют никакого смысла. Будет миллион топиков без ответов, или просто бесполезный срач.
А тут уже все зависит от того, как именно вы будете организовывать систему переводов. Я чаще всего делаю, как локализацию. Вон http://best-house.org двух язычный. Все пашет без проблем. Правда перевод только интерфейса, без контента. Но так ведь и при получение значения поля через функции ядра, вам тоже нужно передать $language->language Если вы используете не локализацию, а перевод!
Ну во первых LANGUAGE_NONE, как раз и не зависит от языка, в этом его фишка. А во вторых, сам вывод кучи мусора в шаблон - это бич Друпал! Само понятие шаблона отсутствует напрочь. Так как вам в шаблон вываливает кучу markup мусора. И вместо того, чтобы в шаблоне делать именно то, для чего он предназначен, а именно темизировать сырые данные, приходиться заниматься извращениями на подобии очистки от лишних враперов, классов и другой пурги, применяя при этом кучу функций ядра и нагружая сервер. И ради чего? Ради очистки от врапера? Не находите этот друпал вэй бредовым?
Перестал работать Ajax
Попробуйте другие версии модуля поставить. Самый последний дев., к примеру. Или патч в какой-нибудь иде среде накатите.
Вывод значения из поля профиля без обёртки дивами
Вы сделали так: print render(field_view_field( 'profile2' , $profile [ 'main' ] , 'field_numofholding', $options )) ; У вас ничего не вывело! Пустое значение. Это грубо говоря, первая строка. Для проверки засуньте функцию в девел: dpm(field_view_field(...));
Потом вы сделали вывод термина таксономии: print $profile['main']->field_numofholding['und'][0]['taxonomy_term']->name; Это у вас вывело имя термина, строка номер два.
А в строке номер три у вас отработал рендер всего массива, в котором есть ваше термин таксономии, и который вывелся на страницу при рендере.
Вывод значения из поля профиля без обёртки дивами
Только что глянул шаблон анвансед форума, понятно что у вас другой, но все же. Так вот данные не вываливаются полностью в шаблон, а страница собирается на лету, дергая все время шаблон. То есть всего массива с данными там нет. А значит нужно найти переменную в которую передается информация о комментаторе. Как правило, переменные описываются в начале шаблона в комментарии. В адвансед форуме это $account. Из нее вытаскиваем ид юзверя: $account->uid А дальше вы уже получаете нужное вам поле и записываете его префикс или еще как.
Вывод значения из поля профиля без обёртки дивами
Так ведь смотрите в чем беда, вы ведь получаете из профиля идентификатор именно автора ноды $comment->uid
А вам нужно взять идентификатор каждого пользователя в каждом комментарии! Для этого нужно более внимательно посмотреть структуру массива в dpm. Если у вас выводится десять комментариев, то в массиве должно быть десять ключей со своими массивами. И в каждом есть информация о пользователе и его uid. Вы можете прогнать циклом эти значения и добавить к каждому, например, префикс с данными (как один из вариантов). Например, как-то так (это только общая идея):
Вывод значения из поля профиля без обёртки дивами
Мы сейчас обсуждаем не совсем понятно что. Какой шаблон, комментариев? Какая задача стоит, четко только и понятно. Может вообще все по другому можно сделать или должно быть.
Друпал и Вордпресс
Знаете такую датскую компанию Берлингское-Медиа (огромный медиа холдинг)? Вот они продают платный контент. У истоков создания их сайта (36 шкафов сейчас стоит) стояло несколько главных создателей Друпал. Там друг мой работает. Так у них такой штат сениоров, и у них такой бюджет, что можно завод по производству чего-то построить на эти деньги. И каждый день перед ними стоят тяжелые технические задачи. Процесс вообще непрекращающийся. Не буду вас грузить техническими подробностями.
Вывод значения из поля профиля без обёртки дивами
Если вы потом рендерите весь контент, то вы опять выводите те поля, которые уже вывели. К примеру получаем название:
$name = $profile['main']->field_numofholding['und'][0]['taxonomy_term']->name;
print $name; - вывели где надо вам это значение. И если вам данные этого поля больше не нужны и вы не хотите их выводить, то удалите их:
unset($profile['main']->field_numofholding); - это вы полностью грохнули поле из массива
Друпал и Вордпресс
Ну вам, наверное виднее. Зачем нужны всякие там мерсы, бэхи и ауди. Глупые люди за бугром изобретают свои велосипеды, пока умные шпарят ВАЗы и рубят на этом капусту. А зачем производят постоянно совершенные и мощные ноутбуки, ведь есть же уже дрова на Селеронах с ТН матрицами, умные на них зарабатывают. Да и вообще разрабатывают архитектуру и более продуманные, гибкие и масштабируемые решения только дураки, а умные ставят ВП в один клик, и рубят бабло. И только по иронии судьбы мы с вами встретились на этом форуме "дураков", где с печалью наблюдаем, как "умные" рубят бабло.
Друпал и Вордпресс
Друпал и Вордпресс
Давайте мухи отдельно, котлеты отдельно. Автолюбители = пользователи CMS. Слесари с образованием = разработчики. То что вы получили права (у нас в стране скорее прикупили, чем все честно сдали, к слову так) не дает вам знания устройства ходовой, двигателя или электрики. Про опыт вообще молчу. У слесаря же есть нужные знания и опыт. Если автолюбитель решил чинить сам свой автомобиль, просто почитав этот форум, ради бога, я не против. В итоге просто профессионалу придется заплатить гораздо больше, да и глазки в пол тупить, рассказывая, что это не я, это кто-то другой тут "напочинял".
Вывод значения из поля профиля без обёртки дивами
Смотря, что тебе нужно вывести. Если полностью сущность поля, то:
print render($profile['field_numofholding']);
Если имя термина, то путь к имени термина без рендера.
Перестал работать Ajax
С панелью может быть проблема. Так как панель, это не просто шкурка, а целая система со своими версиями пыхи, мускула и настройками. Скорее всего в этом дело. Гляньте phpinfo, посмотрите отчет о состоянии, может какие косяки выдаст в настройках. Еще может быть шляпа в настройках апача у хостера. Ведь как аякс срабатывает, происходит вызов друпал роутера, и через ссылку вызывается колбек с передачей в него параметров и данных. И вот на этом этапе у вас и происходит глюк.
Ищу специалиста. На шаблоне сделать сайт.
Ну тогда я тебя поздравляю! Рад, что нашел своих программистов, удачи в разработке.
Друпал и Вордпресс
Утром поставил, а вечером выстрелил
Вспомнился анекдот про скорость выращивания картошки. Победили на соревнованиях вьетнамцы. Утром посадили, вечером собрали. На вопрос, в чем секрет - очень кусать хосеся.
Вывод значения из поля профиля без обёртки дивами
«отсылаете на сервер опять объект ноды» - к словам цепляетесь, суть вы уловили.
В энтити риференс вам будет сразу доступен объект ноды(StdClass), если не в курсе (или по вашему что произойдет при рендере?)! Проверять поле нужно, это факт. Но разве для вас if else - это проблема? С вьсом вообще никаких проблем, работать просто красота! Выводите данные в шаблон таблицы! И получаете сырой массив данных $rows. Делайте с ним, что хотите. Учитывать локализацию, это вы о чем? Вместо und, eng или ru? Это проблема? Сдвигать массивы умеете?
Ищу специалиста. На шаблоне сделать сайт.
Не обижайся, дружище. Жизнь штука сложная. Друпалеры люди суровые. Но ведь и ты, наверняка, не понял бы такого предложения, если бы в твоей тематике потенциальный твой клиент такое бы выдал. Вот и результат.
Ищу специалиста. На шаблоне сделать сайт.
Это все в теории! Прямо как в университетах обучают на экономистов. Выходит студент в жизнь после пятого курса, приходит работать в компанию, и через пару дней понимает, как именно устроен этот мир. И его утешает всего один момент, что хоть корочка есть и больше ничего. А о клиентах, их желаниях и мотивации я могу вам так много рассказать, что хватит на очень многочасовую лекцию.
Вывод значения из поля профиля без обёртки дивами
Я хочу сказать, что использование функций ядра для получения каких либо данных, или еще чего-то в ШАБЛОНЕ - ЭТО ЗЛО!!!!!!!!! Черное и гадкое! И это можно называть правильным друпал путем или еще как-то, но все телодвижения с ядром, должны оставаться в контроллере, в нашем конкретном случае, в модуле, отправляющем данные в шаблон. Шаблон - это оперирование с финальными данными. Одевание во враперы, прикрепление классов и т.п. Поэтому, все функции field_get_items(), field_view_field(), field_view_value() и др.
Ищу специалиста. На шаблоне сделать сайт.
Мое мнение, что это в корне все неправильно. Если человеку не хватает денег на БМВ, и в салоне его послали куда подальше, то он пойдет и от обиды купит ВАЗ, но у более культурных продажников. Поэтому, давайте человека в салоне БМВ успокоим, приголубим и дадим чайку с пирожком. Вдруг он накопит денежек и купит бэху, а не ВАЗ. Так так что ли? Это какой-то сельско-колхозный подход. Нужно формировать культуры не только разработчиков, но и заказчиков. А сделать это можно только через специализированных людей, которые умеют грамотно работать и с заказчиками и с разработчиками.
Вывод значения из поля профиля без обёртки дивами
«А тут уже все зависит от того, как именно вы будете организовывать систему переводов. Я чаще всего делаю, как локализацию. Вон http://best-house.org двух язычный. Все пашет без проблем. Правда перевод только интерфейса, без контента. Но так ведь и при получение значения поля через функции ядра, вам тоже нужно передать $language->language Если вы используете не локализацию, а перевод!
Вывод значения из поля профиля без обёртки дивами
Прочитайте ее сами еще раз, вместе со всеми комментариями!
Вывод значения из поля профиля без обёртки дивами
Не нужно извинятся. Может я и не прав. Тогда ткните носом, буду благодарен. А ваш ответ смахивает на: ты неправ, вали отсюда, кури доки, учи матчасть. Хамство за вежливым ответом не спрятать.
Ищу специалиста. На шаблоне сделать сайт.
Я с вами согласен. Это проблема, и не только в Друпал. Но если в цивилизованном мире в роли "арбитра" выступает продакт менеджет компании, разбирающийся в создании ТЗ, в алгоритмах, которая может подобрать команду на проект, то у нас, каждый сам себе режиссер. Лично я не знаю, как можно удовлетворить потребности обоих сторон. Вот смотрите, Друпал.ру и Дру.ио созданы с какой целью? Объединить на своей базе профессионалов!!! Если нет профессионалов, которые составляют костяк этих проектов, то эти сайты не имеют никакого смысла. Будет миллион топиков без ответов, или просто бесполезный срач.
Вывод значения из поля профиля без обёртки дивами
А тут уже все зависит от того, как именно вы будете организовывать систему переводов. Я чаще всего делаю, как локализацию. Вон http://best-house.org двух язычный. Все пашет без проблем. Правда перевод только интерфейса, без контента. Но так ведь и при получение значения поля через функции ядра, вам тоже нужно передать $language->language Если вы используете не локализацию, а перевод!
Вывод значения из поля профиля без обёртки дивами
Ну во первых LANGUAGE_NONE, как раз и не зависит от языка, в этом его фишка. А во вторых, сам вывод кучи мусора в шаблон - это бич Друпал! Само понятие шаблона отсутствует напрочь. Так как вам в шаблон вываливает кучу markup мусора. И вместо того, чтобы в шаблоне делать именно то, для чего он предназначен, а именно темизировать сырые данные, приходиться заниматься извращениями на подобии очистки от лишних враперов, классов и другой пурги, применяя при этом кучу функций ядра и нагружая сервер. И ради чего? Ради очистки от врапера? Не находите этот друпал вэй бредовым?