Для этого произвести операцию из 3-х пунктов.

1. Надо добавить поле в форму article.xml соответствующие поле, а для этого создать контент плагин примерно следующего содержания.
 

// No direct access
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');
class plgContentAddtitlefeld extends JPlugin
{
 /**
 * Контент метод добавления полей в форму редактирования статьи
 *
 * Метод вызывается перед визуализацией формы JForm.
 * Он может использоваться для изменения JForm объекта в памяти перед отрисовкой.
 *
 * @param string форма. Объект JForm для отображения.
 * @param object data Объект, содержащий данные для формы.
 * @return boolean Значение true, если метод выполнен успешно.
 * @since 1.6
 */
 public function onContentPrepareForm($form, $data)
 {
 // Если мы не в нужной форме - просто завершаем метод
 if ($form->getName() != 'com_content.article') {
 return;
 }
 
 // Загрузить плагин языковой файл
 $this->loadLanguage();
 
 // Загрузите наши пользовательские регистрации xml в форму регистрации пользователя.
 $form->loadFile(dirname(__FILE__).'/forms/form.xml');
 
 }
}

 


 

Файл манифест.

<?xml version="1.0" encoding="utf-8"?>
<install version="1.5"  method="upgrade" type="plugin" group="content">
    <name>Addtitlefeld</name>
    <creationDate>2013-01-08</creationDate>
    <author>Vadim Rigin</author>
    <authorEmail>vadim@rigin.net<;;/authorEmail>
    <authorUrl>www.rigin.net</authorUrl>
    <copyright>Copyright (C) 2013  Open Source Matters. All rights reserved.</copyright>    
    <license>GPL2</license>
    <version>1</version>
    <description>PLG_ADDTITLEFELD_DESC</description>
    <files>
        <filename plugin="addtitlefeld">addtitlefeld.php</filename>
        <filename>index.html</filename>
        <folder>forms</folder>
    </files>
    <languages  folder="language">
        <language tag="en-GB">en-GB.plg_content_addtitlefeld.ini</language>
        <language tag="en-GB">en-GB.plg_content_addtitlefeld.sys.ini</language>
        <language tag="ru-RU">ru-RU.plg_content_addtitlefeld.ini</language>
        <language tag="ru-RU">ru-RU.plg_content_addtitlefeld.sys.ini</language>
    </languages>
</install>

 





Файл в данном случае  /forms/form.xml


<?xml version="1.0" encoding="utf-8"?>
<form>
   <fields name="metadata">
   <field name="html_title" type="text"
      label="HTML Title" description="HTML Title"
       size="50" />
 
   </fields>
</form>

 



2. Надо переопледелить шаблон вывода article/default.php  компонента com_content  добавив в него  код копирующий данное поле в объект JDocument

$doc =  JFactory::getDocument();
$doc->set('article_title',$this->escape($this->item->metadata->get('html_title')));

 





3. надо вывести это поле в коде шаблона соответственно в Title


// добавление значения title из поля в meta
$doc =  JFactory::getDocument();
$article_title = $doc->get('article_title');
if (isset($article_title) and trim($article_title) != '')
{
 $this->title = $article_title;
};

 

Вариант для joomla 3


Во- первых манифест файл требует изменений - замены тега install на тег extension.


<?xml version="1.0" encoding="utf-8"?>
<extension version="3.0" type="plugin" group="content">
    <name>Addtitlefeld</name>
    <creationDate>2013-01-08</creationDate>
    <author>Vadim Rigin</author>
    <authorEmail>vadim@rigin.net<;;;/authorEmail>
    <authorUrl>www.rigin.net</authorUrl>
    <copyright>Copyright (C) 2013  Open Source Matters. All rights reserved.</copyright>    
    <license>GPL2</license>
    <version>1</version>
    <description>PLG_ADDTITLEFELD_DESC</description>
    <files>
        <filename plugin="addtitlefeld">addtitlefeld.php</filename>
        <filename>index.html</filename>
        <folder>forms</folder>
    </files>
    <languages  folder="language">
        <language tag="en-GB">en-GB.plg_content_addtitlefeld.ini</language>
        <language tag="en-GB">en-GB.plg_content_addtitlefeld.sys.ini</language>
        <language tag="ru-RU">ru-RU.plg_content_addtitlefeld.ini</language>
        <language tag="ru-RU">ru-RU.plg_content_addtitlefeld.sys.ini</language>
    </languages>
</extension>

 




За одно введем добавление поля title в форму редактирования категорий статей доработав основной файл плагина.

<?php
// No direct access
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');
class plgContentAddtitlefeld extends JPlugin
{
    /**
     *  Контент метод добавления полей в форму редактирования статьи
     *
     * Метод вызывается перед визуализацией формы JForm.  
     * Он может использоваться для изменения JForm объекта в памяти перед отрисовкой.
     *
     * @param    string    форма.   Объект JForm для отображения.
     * @param    object    data  Объект, содержащий данные для формы.  
     * @return   boolean  Значение true, если метод выполнен успешно.
     * @since    1.6
     */
    public function onContentPrepareForm($form, $data)
    {
        // Если мы не в нужной форме - просто завершаем метод
            if ($form->getName() != 'com_content.article' and $form->getName() != 'com_categories.categorycom_content') {
            return;
        };
 
        //  Загрузить плагин языковой файл
        $this->loadLanguage();
 
        //  Загрузите наши пользовательские регистрации xml в форму регистрации пользователя.
        $form->loadFile(dirname(__FILE__).'/forms/form.xml');
        
    }
}

 




Структура полей формы немного поменялась, соответственно изменилась и структура xml файла с добавочными полями

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="metadata">
        <fieldset name="addmetadata"
                label="JGLOBAL_FIELDSET_METADATA_OPTIONS">
            <field     name="html_title" type="text"
                    label="HTML Title" description="HTML Title"
                    size="50" />
        </fieldset>
                
    </fields>
</form>

 




Добавочные строки в файлы переопределения шаблонов тоже поменялись в связи с изменением в классе JDocument

 article/default.php

// Чтение поля title из метаданных
if ($this->item->metadata->get('html_title') != null)
{
    $doc =  JFactory::getDocument();
    $doc->article_title = $this->escape($this->item->metadata->get('html_title'));
}

 




Поскольку мы расширили действия плагина на категории статей, то надо переопределить и шаблоны представления category и categories компонента com_content

Файл categories/default.php

// Чтение поля title из метаданных
$metadata = json_decode($this->parent->metadata);
if (isset($metadata->html_title) and $metadata->html_title != '')
{
    $doc =  JFactory::getDocument();
    $doc->article_title = $this->escape($metadata->html_title);
};

 




Файл category/default.php

// Чтение поля title из метаданных
if ($this->category->metadata->get('html_title') != null)
{
    $doc =  JFactory::getDocument();
    $doc->article_title = $this->escape($this->category->metadata->get('html_title'));
}

 



Файл category/blog.php

// Чтение поля title из метаданных
if ($this->category->metadata->get('html_title') != null)
{
    $doc =  JFactory::getDocument();
    $doc->article_title = $this->escape($this->category->metadata->get('html_title'));
}

 

Ну и добавляем строки размещающие поле title в документ в файле index.php шаблона



index.php

 

// добавление значения title из поля в meta
$doc =  JFactory::getDocument();
if (isset($doc->article_title)) {
    $this->title = $doc->article_title;
    unset($doc->article_title);
};