Дополнительное поле в модуле

  • 21 Ответов
  • 697 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

paskal

  • Осваиваюсь на форуме
  • ***
  • 125
  • 0
Ребята подскажите, пожалуйста, пишу модуль. Как можно сделать, чтобы в нем была возможность добавить поле с выбором ссылки на материал из категории?


*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Дополнительное поле в модуле
« Ответ #2 : 27.07.2015, 23:00:30 »
Код: php
<field name="id" type="modal_article"
label="Выбрать материал"
required="true"
edit="true"
clear="false"
description="Описание поля"
/>
Правда выбор будет по всем материалам com_content а не из определенной категории, что бы из определенной категории скорее всего придется писать свой тип поля!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

paskal

  • Осваиваюсь на форуме
  • ***
  • 125
  • 0
Re: Дополнительное поле в модуле
« Ответ #3 : 27.07.2015, 23:17:38 »
Код: php
<field name="id" type="modal_article"
label="Выбрать материал"
required="true"
edit="true"
clear="false"
description="Описание поля"
/>
Правда выбор будет по всем материалам com_content а не из определенной категории, что бы из определенной категории скорее всего придется писать свой тип поля!

Спасибо за подсказку, но в админке выводится как обычное поле типа text. Не пойму, почему так не работает.

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Дополнительное поле в модуле
« Ответ #4 : 27.07.2015, 23:19:24 »
а точно )
там где у вас fieldset  в нем нужно добавить путь к полю addfieldpath="/administrator/components/com_content/models/fields" вот так например:
Код: php
<fieldset name="request" addfieldpath="/administrator/components/com_content/models/fields">
<field name="id"
type="modal_article"
label="Выбрать материал"
required="true"
edit="true"
clear="false"
description="Описание поля"
/>
</fieldset>
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

paskal

  • Осваиваюсь на форуме
  • ***
  • 125
  • 0
Re: Дополнительное поле в модуле
« Ответ #5 : 27.07.2015, 23:30:29 »
Добавилось нужное поле. Только в таком варианте выводится не сам материал, а его id.

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Дополнительное поле в модуле
« Ответ #6 : 27.07.2015, 23:52:31 »
Да выводится ID материала, уже в helper.php модуля вы можене написать метод для получения материала из таблицы по его ID!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

paskal

  • Осваиваюсь на форуме
  • ***
  • 125
  • 0
Re: Дополнительное поле в модуле
« Ответ #7 : 28.07.2015, 00:58:31 »
Спасибо. Но тут уже немного сложновато для меня будет.

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Дополнительное поле в модуле
« Ответ #8 : 28.07.2015, 01:02:50 »
да ничего сложного просто напишите в шаблоне вашего модуля:

Код: php-brief
$db = JFactory::getDbo();
$query = $db->getQuery( true )
->select( '*' )
->from( '#__content' )
->where( 'id=' . (int)$params->get( 'id' ) );
$article = $db->setQuery( $query )->loadObject();

а дальше что бы вывести заголовок материала echo $article->title;
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

paskal

  • Осваиваюсь на форуме
  • ***
  • 125
  • 0
Re: Дополнительное поле в модуле
« Ответ #9 : 28.07.2015, 01:26:27 »
очень выручили. Спасибо большое. Вам огромный + ^-^

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #10 : 24.08.2016, 05:23:20 »
А как вывести не title а url выбранной статьи

*

Shustry

  • Группа развития
  • *****
  • 6426
  • 733
  • Рисую дизайны
Re: Дополнительное поле в модуле
« Ответ #11 : 24.08.2016, 05:39:27 »
Код: php
echo JRoute::_(ContentHelperRoute::getArticleRoute($article->id,  $article->catid ));
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #12 : 24.08.2016, 05:52:41 »
спасибо большое !
выводится правда вот это /index.php?id=
а должно быть /index.php?id=2
похоже не хватает id в конце

как исправить?
« Последнее редактирование: 24.08.2016, 05:56:22 от ribb »

*

Shustry

  • Группа развития
  • *****
  • 6426
  • 733
  • Рисую дизайны
Re: Дополнительное поле в модуле
« Ответ #13 : 24.08.2016, 06:01:50 »
Что-то неправильно. Должна выводиться готовая SEF-ссылка.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #14 : 24.08.2016, 06:07:37 »
Спасибо! это я тупица в helpere ошибся вместо id написал url/

еще раз спасибо большое!

*

Shustry

  • Группа развития
  • *****
  • 6426
  • 733
  • Рисую дизайны
Re: Дополнительное поле в модуле
« Ответ #15 : 24.08.2016, 06:09:36 »
Незачто.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #16 : 24.08.2016, 07:00:23 »
не могу понять как мне сделать.
есть helper.php в нем

<?php
$db = JFactory::getDbo();
$query = $db->getQuery( true )
   ->select( '*' )
   ->from( '#__content' )
   ->where( 'id=' . (int)$params->get( 'id' ) );
$article = $db->setQuery( $query )->loadObject();
?>


вывожу в ссылку
в mod_123.php
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($article->id,  $article->catid));?>">

но у меня есть еще много ссылок на другие материалы.

вопрос, как прописывать вывод на другие материалы?


Вобщем нужно выбрать не один материал а несколько типо вот так


<fieldset name="request" addfieldpath="/administrator/components/com_content/models/fields">
   <field name="id"
      type="modal_article"
      label="Выбрать материал"
      required="true"
      edit="true"
      clear="false"
      description="Описание поля"
   />
</fieldset>

<fieldset name="request" addfieldpath="/administrator/components/com_content/models/fields">
   <field name="id1"
      type="modal_article"
      label="Выбрать материал"
      required="true"
      edit="true"
      clear="false"
      description="Описание поля"
   />
</fieldset>

<fieldset name="request" addfieldpath="/administrator/components/com_content/models/fields">
   <field name="id2"
      type="modal_article"
      label="Выбрать материал"
      required="true"
      edit="true"
      clear="false"
      description="Описание поля"
   />
</fieldset>

три запроса на разные материалы, ну вывести разные url материалов

помогите кто может, заранее благодарен
« Последнее редактирование: 24.08.2016, 07:15:24 от ribb »

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #17 : 24.08.2016, 23:22:18 »
Незачто.

Может подскажет кто, голову сломал уже

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #18 : 24.08.2016, 23:33:25 »
все разобрался, выводить нужно выло по echo JRoute::_(ContentHelperRoute::getArticleRoute($params->get('id1')));

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #19 : 27.08.2016, 01:53:06 »
может кто подсказать как вывести заголовок и текст материала

*

ribb

  • Новичок
  • *
  • 8
  • 0
Re: Дополнительное поле в модуле
« Ответ #20 : 27.08.2016, 02:35:38 »
Я тут сам с собою

echo $article->title;
echo $article->introtext;

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Дополнительное поле в модуле
« Ответ #21 : 27.08.2016, 02:59:55 »
Я тут сам с собою
Давно пора научиться самостоятельно вытирать сопли.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.