kirill_dan: Комментарии

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

23 декабря 2015 в 14:59

Вы сделали так: 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; Это у вас вывело имя термина, строка номер два.
А в строке номер три у вас отработал рендер всего массива, в котором есть ваше термин таксономии, и который вывелся на страницу при рендере.

23 декабря 2015 в 1:49

Только что глянул шаблон анвансед форума, понятно что у вас другой, но все же. Так вот данные не вываливаются полностью в шаблон, а страница собирается на лету, дергая все время шаблон. То есть всего массива с данными там нет. А значит нужно найти переменную в которую передается информация о комментаторе. Как правило, переменные описываются в начале шаблона в комментарии. В адвансед форуме это $account. Из нее вытаскиваем ид юзверя: $account->uid А дальше вы уже получаете нужное вам поле и записываете его префикс или еще как.

23 декабря 2015 в 1:18

Так ведь смотрите в чем беда, вы ведь получаете из профиля идентификатор именно автора ноды $comment->uid
А вам нужно взять идентификатор каждого пользователя в каждом комментарии! Для этого нужно более внимательно посмотреть структуру массива в dpm. Если у вас выводится десять комментариев, то в массиве должно быть десять ключей со своими массивами. И в каждом есть информация о пользователе и его uid. Вы можете прогнать циклом эти значения и добавить к каждому, например, префикс с данными (как один из вариантов). Например, как-то так (это только общая идея):

22 декабря 2015 в 23:49

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

22 декабря 2015 в 23:32

Знаете такую датскую компанию Берлингское-Медиа (огромный медиа холдинг)? Вот они продают платный контент. У истоков создания их сайта (36 шкафов сейчас стоит) стояло несколько главных создателей Друпал. Там друг мой работает. Так у них такой штат сениоров, и у них такой бюджет, что можно завод по производству чего-то построить на эти деньги. И каждый день перед ними стоят тяжелые технические задачи. Процесс вообще непрекращающийся. Не буду вас грузить техническими подробностями.

22 декабря 2015 в 22:49

Если вы потом рендерите весь контент, то вы опять выводите те поля, которые уже вывели. К примеру получаем название:
$name = $profile['main']->field_numofholding['und'][0]['taxonomy_term']->name;

print $name; - вывели где надо вам это значение. И если вам данные этого поля больше не нужны и вы не хотите их выводить, то удалите их:
unset($profile['main']->field_numofholding); - это вы полностью грохнули поле из массива

22 декабря 2015 в 22:35

Ну вам, наверное виднее. Зачем нужны всякие там мерсы, бэхи и ауди. Глупые люди за бугром изобретают свои велосипеды, пока умные шпарят ВАЗы и рубят на этом капусту. А зачем производят постоянно совершенные и мощные ноутбуки, ведь есть же уже дрова на Селеронах с ТН матрицами, умные на них зарабатывают. Да и вообще разрабатывают архитектуру и более продуманные, гибкие и масштабируемые решения только дураки, а умные ставят ВП в один клик, и рубят бабло. И только по иронии судьбы мы с вами встретились на этом форуме "дураков", где с печалью наблюдаем, как "умные" рубят бабло.

22 декабря 2015 в 21:22

Давайте мухи отдельно, котлеты отдельно. Автолюбители = пользователи CMS. Слесари с образованием = разработчики. То что вы получили права (у нас в стране скорее прикупили, чем все честно сдали, к слову так) не дает вам знания устройства ходовой, двигателя или электрики. Про опыт вообще молчу. У слесаря же есть нужные знания и опыт. Если автолюбитель решил чинить сам свой автомобиль, просто почитав этот форум, ради бога, я не против. В итоге просто профессионалу придется заплатить гораздо больше, да и глазки в пол тупить, рассказывая, что это не я, это кто-то другой тут "напочинял".

22 декабря 2015 в 21:10

Радосвет wrote:

Вот как мне прописать функцию и распечатать?
Так? print $profile['field_numofholding'][LANGUAGE_NONE][0]['taxonomy_term'];

Смотря, что тебе нужно вывести. Если полностью сущность поля, то:
print render($profile['field_numofholding']);
Если имя термина, то путь к имени термина без рендера.

22 декабря 2015 в 20:56

С панелью может быть проблема. Так как панель, это не просто шкурка, а целая система со своими версиями пыхи, мускула и настройками. Скорее всего в этом дело. Гляньте phpinfo, посмотрите отчет о состоянии, может какие косяки выдаст в настройках. Еще может быть шляпа в настройках апача у хостера. Ведь как аякс срабатывает, происходит вызов друпал роутера, и через ссылку вызывается колбек с передачей в него параметров и данных. И вот на этом этапе у вас и происходит глюк.

22 декабря 2015 в 18:51

Утром поставил, а вечером выстрелил Smile
Вспомнился анекдот про скорость выращивания картошки. Победили на соревнованиях вьетнамцы. Утром посадили, вечером собрали. На вопрос, в чем секрет - очень кусать хосеся.

22 декабря 2015 в 18:30

«отсылаете на сервер опять объект ноды» - к словам цепляетесь, суть вы уловили.
В энтити риференс вам будет сразу доступен объект ноды(StdClass), если не в курсе (или по вашему что произойдет при рендере?)! Проверять поле нужно, это факт. Но разве для вас if else - это проблема? С вьсом вообще никаких проблем, работать просто красота! Выводите данные в шаблон таблицы! И получаете сырой массив данных $rows. Делайте с ним, что хотите. Учитывать локализацию, это вы о чем? Вместо und, eng или ru? Это проблема? Сдвигать массивы умеете?

22 декабря 2015 в 18:11

Не обижайся, дружище. Жизнь штука сложная. Друпалеры люди суровые. Но ведь и ты, наверняка, не понял бы такого предложения, если бы в твоей тематике потенциальный твой клиент такое бы выдал. Вот и результат.

22 декабря 2015 в 18:07

Это все в теории! Прямо как в университетах обучают на экономистов. Выходит студент в жизнь после пятого курса, приходит работать в компанию, и через пару дней понимает, как именно устроен этот мир. И его утешает всего один момент, что хоть корочка есть и больше ничего. А о клиентах, их желаниях и мотивации я могу вам так много рассказать, что хватит на очень многочасовую лекцию.

22 декабря 2015 в 17:40

Я хочу сказать, что использование функций ядра для получения каких либо данных, или еще чего-то в ШАБЛОНЕ - ЭТО ЗЛО!!!!!!!!! Черное и гадкое! И это можно называть правильным друпал путем или еще как-то, но все телодвижения с ядром, должны оставаться в контроллере, в нашем конкретном случае, в модуле, отправляющем данные в шаблон. Шаблон - это оперирование с финальными данными. Одевание во враперы, прикрепление классов и т.п. Поэтому, все функции field_get_items(), field_view_field(), field_view_value() и др.

22 декабря 2015 в 17:23

Мое мнение, что это в корне все неправильно. Если человеку не хватает денег на БМВ, и в салоне его послали куда подальше, то он пойдет и от обиды купит ВАЗ, но у более культурных продажников. Поэтому, давайте человека в салоне БМВ успокоим, приголубим и дадим чайку с пирожком. Вдруг он накопит денежек и купит бэху, а не ВАЗ. Так так что ли? Это какой-то сельско-колхозный подход. Нужно формировать культуры не только разработчиков, но и заказчиков. А сделать это можно только через специализированных людей, которые умеют грамотно работать и с заказчиками и с разработчиками.

22 декабря 2015 в 17:14

«А тут уже все зависит от того, как именно вы будете организовывать систему переводов. Я чаще всего делаю, как локализацию. Вон http://best-house.org двух язычный. Все пашет без проблем. Правда перевод только интерфейса, без контента. Но так ведь и при получение значения поля через функции ядра, вам тоже нужно передать $language->language Smile Если вы используете не локализацию, а перевод!

22 декабря 2015 в 17:01

Не нужно извинятся. Может я и не прав. Тогда ткните носом, буду благодарен. А ваш ответ смахивает на: ты неправ, вали отсюда, кури доки, учи матчасть. Хамство за вежливым ответом не спрятать.

22 декабря 2015 в 16:57

Я с вами согласен. Это проблема, и не только в Друпал. Но если в цивилизованном мире в роли "арбитра" выступает продакт менеджет компании, разбирающийся в создании ТЗ, в алгоритмах, которая может подобрать команду на проект, то у нас, каждый сам себе режиссер. Лично я не знаю, как можно удовлетворить потребности обоих сторон. Вот смотрите, Друпал.ру и Дру.ио созданы с какой целью? Объединить на своей базе профессионалов!!! Если нет профессионалов, которые составляют костяк этих проектов, то эти сайты не имеют никакого смысла. Будет миллион топиков без ответов, или просто бесполезный срач.

22 декабря 2015 в 16:41

А тут уже все зависит от того, как именно вы будете организовывать систему переводов. Я чаще всего делаю, как локализацию. Вон http://best-house.org двух язычный. Все пашет без проблем. Правда перевод только интерфейса, без контента. Но так ведь и при получение значения поля через функции ядра, вам тоже нужно передать $language->language Smile Если вы используете не локализацию, а перевод!

22 декабря 2015 в 16:28

Ну во первых LANGUAGE_NONE, как раз и не зависит от языка, в этом его фишка. А во вторых, сам вывод кучи мусора в шаблон - это бич Друпал! Само понятие шаблона отсутствует напрочь. Так как вам в шаблон вываливает кучу markup мусора. И вместо того, чтобы в шаблоне делать именно то, для чего он предназначен, а именно темизировать сырые данные, приходиться заниматься извращениями на подобии очистки от лишних враперов, классов и другой пурги, применяя при этом кучу функций ядра и нагружая сервер. И ради чего? Ради очистки от врапера? Не находите этот друпал вэй бредовым?