Добавление дополнительного поля в «Новый элемент» в компоненте меню

, как гласит название. возможно ли добавить дополнительное поле в «Новый элемент» на панели администрирования? чуть ниже «title» я хочу одно и то же поле под названием «title 2», а затем отображать его во фронте? возможно ли как-то без загрузки большого количества расширений и т. д.?

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

http://andresgallo.com/2011/08/28/add-custom-content-fields-to-joomla-pt-2-on-the-front-end/

im с помощью joomla 3.8 редактировать: Так что я получил немного больше. Теперь я добавил: Администратор /Компоненты /com_menus /модель /вид /menu.xml

<field
            name="title_danish"
            type="title_danish"
            label="COM_MENUS_ITEM_FIELD_TITLE_LABEL"
            description="COM_MENUS_ITEM_FIELD_TITLE_DESC"
            class="input-xxlarge input-large-text"
            size="40"/>

, то я добавил эту строку в Администратор /Компоненты /com_menus /вид /пункт /TMPL /edit.php

  <?php echo $this->form->getInput('title_danish', null, $this->userID); ?>

, а также я дублировал заголовок title_danish в базе данных, поэтому он сохраняет его.

Единственное, что осталось, это показать результат title_danish в моем com_content в моем фронте. Я не знаю, как это сделать. может кто-нибудь помочь здесь?

Кстати, я сделал это. это правильный путь или их более простой способ?

2 голоса | спросил Peter 7 FebruaryEurope/MoscowbSun, 07 Feb 2016 02:44:27 +0300000000amSun, 07 Feb 2016 02:44:27 +030016 2016, 02:44:27

2 ответа


1

Вы допустили некоторые ошибки:

  1. Вам необходимо переопределить меню для контента, который вы хотите отобразить.

Если вы хотите использовать начальное меню по умолчанию; , а затем найдите /components/com_content/views/featured/tmpl/default.xml и ditto default.php и по умолчанию _ *. php и скопируйте их в /templates /yourtemplate /html /com_content /featured /. Теперь вы готовы внести свои изменения. Измените xml-файл следующим образом:

Макет:

<layout title="Special view with danish and english title" 
option="COM_CONTENT_FEATURED_VIEW_DEFAULT_OPTION">

И в статье в полевом файле добавьте

<field
  name="title_danish" type="text" label="Dansk tittel"
  description="Her er dansk tittel"
  class="input-xxlarge input-large-text"
  size="40"/>

Используйте type = text, а не type = title_danish, как вы это делали в своем вопросе

  1. Сделайте пункт меню и заполните новый заголовок. Вы должны найти новое поле на вкладке «Параметры» в администраторе меню для выбранного типа меню. Если вы хотите другой тип меню, переопределите этот тип содержимого.

  2. Выведите новое поле в интерфейсе.

Поле сохраняется в параметрах пункта меню, поэтому, чтобы получить его, вам нужно использовать что-то вроде:

echo $this->params->get('title_danish');

Вы можете добавить это везде, где это вам подходит, но я думаю, что где-то в вашем новом файле /templates/yourtemplate/html/com_content/featured/default.php - хороший выбор. Надеюсь, это прояснит некоторые вещи ...

ответил jonasfh 9 FebruaryEurope/MoscowbTue, 09 Feb 2016 01:25:12 +0300000000amTue, 09 Feb 2016 01:25:12 +030016 2016, 01:25:12
0

попробуйте поместить эту строку под или поверх основного поля заголовка

Посмотрите на эту строку в файле: /home/web/public_html/joomla/components/com_content/views/form/tmpl/edit.php

<?php echo $this->form->renderField('title'); ?>

и поместите эту строку до или после нее:

<?php echo $this->form->renderField('title_danish'); ?>

Надеюсь, что это поможет

ответил TheNextStage 7 FebruaryEurope/MoscowbSun, 07 Feb 2016 16:17:31 +0300000000pmSun, 07 Feb 2016 16:17:31 +030016 2016, 16:17:31

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132