Форум русской поддержки Joomla!® CMS
23.07.2017, 10:46:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Поля в 3.7

 (Прочитано 1231 раз)
0 Пользователей и 1 Гость смотрят эту тему.
voland
Профи
********

Репутация: +518/-98
Offline Offline

Пол: Мужской
Сообщений: 9826


СКАЙП утерян! Пишите в телеграм @volandku


« : 25.04.2017, 22:46:48 »

Вообщем, обсуждаем.
Пробую пока.. Что и как смотрю.

Такой вопрос - для их отображения эта фича должна быть в шаблоне или как?
Вот при таких настройках у меня не показывает
Показать текстовый блок
Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #1 : 25.04.2017, 22:51:13 »

onContentAfterTitle
onContentBeforeDisplay
onContentAfterDisplay

Выводится по этим событиям.

В шаблоне должно быть:
Код:
<?php echo $this->item->event->afterDisplayTitle; ?>
<?php echo $this->item->event->beforeDisplayContent; ?>
<?php echo $this->item->event->afterDisplayContent; ?>
Записан
voland
Профи
********

Репутация: +518/-98
Offline Offline

Пол: Мужской
Сообщений: 9826


СКАЙП утерян! Пишите в телеграм @volandku


« Ответ #2 : 25.04.2017, 22:57:24 »

Похоже в T3 такой поддержки нет
Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #3 : 25.04.2017, 23:05:41 »

Похоже в T3 такой поддержки нет
Очень странно!
Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #4 : 26.04.2017, 01:17:20 »

Скорее всего в шаблоне, По факту в beforeDisplayContent
Код
<?php echo $this->item->event->beforeDisplayContent; ?>
« Последнее редактирование: 26.04.2017, 01:27:29 от Septdir » Записан
fbr
Живу я здесь
******

Репутация: +145/-6
Offline Offline

Сообщений: 1316


« Ответ #5 : 03.05.2017, 14:50:43 »

Подтормаживают поля ...

В блоге на странице 10 превью материалов
В каждом по 5 доп.полей из одной группы (текста не много, 2-3 слова)

При включенных полях - страница загружается на 1-2 секунды дольше .. ((

И еще, не помешал бы выбор где выводить - блог/материал/везде
Записан
Taatshi
Support Team
*****

Репутация: +451/-3
Offline Offline

Пол: Женский
Сообщений: 4986



« Ответ #6 : 03.05.2017, 14:59:25 »

При включенных полях - страница загружается на 1-2 секунды дольше .. ((

Не удивительно. Кто из них там додумался на каждый тип поля делать по плагину? Это около десятка плагинов перед отображением по странице пробегает. Я, честно говоря, в афиге, господа.
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 733


skype: bel_ko_d


« Ответ #7 : 03.05.2017, 15:02:43 »

И что такого? Дело не в количестве подключаемых файлов, а в механизме их подключения и тем более в механизме выбора полей под текущий вывод.
Записан
ChaosHead
Профи
********

Репутация: +409/-14
Online Online

Пол: Мужской
Сообщений: 4741



« Ответ #8 : 03.05.2017, 15:11:54 »

Подтормаживают они скорее всего от того, что хранятся в отдельной таблице и получаются подзапросом.
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 733


skype: bel_ko_d


« Ответ #9 : 03.05.2017, 15:21:27 »

Подтормаживают они скорее всего от того, что хранятся в отдельной таблице и получаются подзапросом.

Бред. Давайте тогда материалы хранить в категориях!
выборка из бд происходит быстро
а вот обработка по циклам это жесть
Записан
ChaosHead
Профи
********

Репутация: +409/-14
Online Online

Пол: Мужской
Сообщений: 4741



« Ответ #10 : 03.05.2017, 16:18:22 »

Что именно там жесть, если нужно лишь вывести информацию, полученную из бд?
Пока ещё даже никаких сортировок и выборок данных нет.
Записан
Fedor Vlasenko
Профи
********

Репутация: +703/-6
Offline Offline

Пол: Мужской
Сообщений: 3834


Все начинается с Value


« Ответ #11 : 03.05.2017, 16:42:08 »

Пока ещё даже никаких сортировок и выборок данных нет.
Не стоит этого делать, так как ключа индекса по значению в базе данных нет. Или создайте свой ключ индекса по значению
Записан
fbr
Живу я здесь
******

Репутация: +145/-6
Offline Offline

Сообщений: 1316


« Ответ #12 : 13.05.2017, 20:54:51 »

Подтормаживают поля ...
Включил отладку системы, посмотрел профилирование
На скрине результат

При отключении полей время 88ms

Вот такие шустрые поля ...



* fields.jpg (15.99 Кб, 812x48 - просмотрено 40 раз.)
Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #13 : 13.05.2017, 21:55:29 »

А я не вывожу поля через рендер, мне и массива jcfields хватает. Хотя у меня в блоге всего 3 поля =)
Кстати меня больше напрягает отсутствия возможности сменить тип (приходиться в базу лезть)
Записан
fbr
Живу я здесь
******

Репутация: +145/-6
Offline Offline

Сообщений: 1316


« Ответ #14 : 13.05.2017, 22:50:44 »

А я не вывожу поля через рендер, мне и массива jcfields хватает. Хотя у меня в блоге всего 3 поля =)
Кстати меня больше напрягает отсутствия возможности сменить тип (приходиться в базу лезть)

Кстати, да )) Отключил системный плагин Поля - время сократилось до 430ms


Записан
Gover
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 184



« Ответ #15 : 13.05.2017, 22:55:36 »

А можно подробнее, как вы выводите поля из jcfields?
Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #16 : 14.05.2017, 01:41:13 »

Кстати, да )) Отключил системный плагин Поля - время сократилось до 430ms
Если вырубить системный, то и полей не будет. Можно вырубить контентный.
Кстати у меня в категории с полям 377, но я с автором перемудрил малясь
А можно подробнее, как вы выводите поля из jcfields?
Эм ну по разному это же массив. Можно через foreach а можно вообще свой объект сделать.  Если более подробно то статью написать планировал, но сейчас занят редизайном. Но могу подсказать сделайте print_r и все увидите.

Мне вот еще не нарвиться что все что приходит в поля по ггруппе - это только ее имя. Не удобно группировать по русскому ключу.
« Последнее редактирование: 14.05.2017, 02:24:19 от Septdir » Записан
effrit
Группа развития
*****

Репутация: +821/-7
Online Online

Пол: Мужской
Сообщений: 7577


effrit.com


« Ответ #17 : 14.05.2017, 11:32:37 »

А можно подробнее, как вы выводите поля из jcfields?

в шаблоне статьи
Код:
echo($this->item->jcfields[1]->value);
если отключен плагин группы fields, то
Код:
echo($this->item->jcfields[1]->rawvalue);
« Последнее редактирование: 14.05.2017, 11:40:10 от effrit » Записан
effrit
Группа развития
*****

Репутация: +821/-7
Online Online

Пол: Мужской
Сообщений: 7577


effrit.com


« Ответ #18 : 14.05.2017, 11:42:11 »

но, кстати, так себе вариант с отключением плагинов полей - они и в админке тогда не показываются.
upd
но если выставить в правах плагина доступ для суперюзера, например, то с фронта вывод плагина пропадает, а в админке остается. профит )
« Последнее редактирование: 14.05.2017, 11:47:03 от effrit » Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #19 : 14.05.2017, 12:29:11 »

но, кстати, так себе вариант с отключением плагинов полей - они и в админке тогда не показываются.
upd
но если выставить в правах плагина доступ для суперюзера, например, то с фронта вывод плагина пропадает, а в админке остается. профит )
Если выключить плагин system / fields  то полей вовсе не будет  Undefined property: stdClass::$jcfields.
Что же до плагинов группы Fields то много прироста не будет. Но если так охото можно выключить все кроме текст. или переписать плагины добавив условие $app->isAdmin()

Кстати о выводе, если выводить по одному.
Код
$this->item->extraFields = array();
if (isset($this->item->jcfields) && is_array($this->item->jcfields)) {
foreach ($this->item->jcfields as $field) {
if (!empty($field->rawvalue)) {
$this->item->extraFields[$field->name] = $field;
 
}
}
}
if (isset($this->item->extraFields['ИМЯ\name которе на англиском'])) {
echo $this->item->extraFields['ИМЯ\name которе на англиском']->value;
}
 
Ну и просто foreach
Код
if (isset($this->item->jcfields) && is_array($this->item->jcfields)) {
foreach ($this->item->jcfields as $field) {
echo '<div>'.$field->title.': '.$field->value.'</div>';
}
}
 
Записан
Gover
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 184



« Ответ #20 : 14.05.2017, 22:58:51 »

Septdir спасибо за информацию. Буду тоже с полями разбираться.
Записан
FitMe
Давно я тут
****

Репутация: +10/-1
Offline Offline

Пол: Мужской
Сообщений: 316



« Ответ #21 : 20.05.2017, 04:35:35 »

но если выставить в правах плагина доступ для суперюзера, например, то с фронта вывод плагина пропадает, а в админке остается. профит )

На том этапе когда это был не частью Joomla, был такой переключатель "отображать поля - да/нет" или как то так. Вроде как удобно же было.
Ну или при настройке отображения блога/категории  сделали бы какой схожий параметр как и с просмотрами, типа отображать/не отображать.
Записан
effrit
Группа развития
*****

Репутация: +821/-7
Online Online

Пол: Мужской
Сообщений: 7577


effrit.com


« Ответ #22 : 21.05.2017, 08:35:14 »

На том этапе когда это был не частью Joomla, был такой переключатель "отображать поля - да/нет" или как то так.
Он, кстати, есть (или появился в 3.7.1 ?), в настойках созданного поля можно переключить, где его показывать
"на сайте / администратору / оба", но ни на что не влияет.
зато ниже есть список "Автоматический показ", в котором можно выбрать событие или "No". Вот при выборе последнего получаем, то, что нужно - в админке поля есть, на сайте - нет. И дальше уже в шаблоне вызываем raw-значение и оформляем, как хотим.
Собственно, я еще месяца 3 назад постил мысль, что раньше лета ждать нормальной работы этих новинок не стОит, по факту так и получается.
« Последнее редактирование: 21.05.2017, 08:48:55 от effrit » Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #23 : 21.05.2017, 11:53:57 »

Он, кстати, есть (или появился в 3.7.1 ?), в настойках созданного поля можно переключить, где его показывать
"на сайте / администратору / оба", но ни на что не влияет.
зато ниже есть список "Автоматический показ", в котором можно выбрать событие или "No". Вот при выборе последнего получаем, то, что нужно - в админке поля есть, на сайте - нет. И дальше уже в шаблоне вызываем raw-значение и оформляем, как хотим.
Собственно, я еще месяца 3 назад постил мысль, что раньше лета ждать нормальной работы этих новинок не стОит, по факту так и получается.
Можно и без rawvalue. Код который я кинул сверху работает когда ивент для авто вывода стоит нет. Я собственно для этого его и писал.
Raw может понадобиться если выключить плагин типа поля, а так value генерируется в массиве, так что и без ивента автоматического вывода все работает.

Кстати полям ещё не хватает хорошей пакетной обработки. А то надо тебе к новой категории 40 полей привязать умаешься руками делать.
« Последнее редактирование: 21.05.2017, 12:01:29 от Septdir » Записан
topochek
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 3


« Ответ #24 : 22.05.2017, 03:15:17 »

подскажите как вывести поле материала в списке материалов?

Для каждого материала создано 1 текстовое поле.

и чего-то я совсем затупил... перемучил уже default_articles но никак не вытащить поле

help пожалуйста...   !
Записан
effrit
Группа развития
*****

Репутация: +821/-7
Online Online

Пол: Мужской
Сообщений: 7577


effrit.com


« Ответ #25 : 22.05.2017, 08:41:31 »

\templates\ИМЯ_ШАБЛОНА\html\com_content\category\default_articles.php

Код:
<?php echo($article->jcfields[1]->value); ?>
или
Код:
<?php echo($article->jcfields[1]->rawvalue); ?>

значение в скобках jcfields[1] - ID поля

Записан
Nat_li
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #26 : 13.06.2017, 19:54:41 »

Поля с одинаковым именем/названием  для пользователей и материалов не сохраняются. Это только у меня?
Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #27 : 13.06.2017, 19:56:15 »

Поля с одинаковым именем/названием  для пользователей и материалов не сохраняются. Это только у меня?
Это же системное имя конечно оно не даст делать дубли
Записан
Gover
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 184



« Ответ #28 : 16.07.2017, 00:59:12 »

Можно-ли как-то показывать доп.поля в модулях?
Записан
Septdir
Практически профи
*******

Репутация: +97/-3
Offline Offline

Пол: Мужской
Сообщений: 1958


Skype: septdir


« Ответ #29 : 16.07.2017, 01:13:34 »

Можно-ли как-то показывать доп.поля в модулях?
Смотря в каких
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet