Решение для 3 ветки jcomments
1. В базу данных добавить
ALTER TABLE jos_jcomments ADD COLUMN `town` varchar(255);
2. В файл, после 74-й строки (примерно) /components/com_jcomments/tpl/default/tpl_form.php
<?php
}
if ($this->getVar('comments-form-town', 1) == 1) {
$text = ($this->getVar('comments-form-town-required', 1) == 0)? JText::_('FORM_TOWN') : JText::_('FORM_TOWN_REQUIRED');
?>
<p>
<span>
<input id="comments-form-town" type="text" name="town" value="" size="22" tabindex="4" />
<label for="comments-form-town"><?php echo $text; ?></label>
</span>
</p>
3. В файл после 328-й строки /components/com_jcomments/jcomments.ajax.php
$comment->town = isset($values['town'])? $values['town'] : '';
В этот же файл, для того чтоб поле проверялось на обязательность, после 192-й строки
} else if (($config->getInt('author_town', 3) == 3) && empty($values['town'])) {
self::showErrorMessage(JText::_('ERROR_EMPTY_TOWN'), 'town');
4. В файл после 566-й строки /components/com_jcomments/ jcomments.php
Работает и без этого кода
$tmpl->addVar('tpl_form', 'comments-form-town-required', 1);
switch ($config->getInt('author_town')) {
case 3:
$tmpl->addVar('tpl_form', 'comments-form-town-required', 1);
$tmpl->addVar('tpl_form', 'comments-form-town', 1);
break;
case 1:
$tmpl->addVar('tpl_form', 'comments-form-town', 1);
break;
case 0:
default:
$tmpl->addVar('tpl_form', 'comments-form-town', 0);
break;
}
5. В файл в 309-ю строку /components/com_jcomments/models/jcomments.php
$query = "SELECT c.id, c.parent, c.object_id, c.object_group, c.userid, c.name, c.username, c.title, c.comment, c.town"
6. В файл, после 35-й строки (примерно) /components/com_jcomments/tpl/default/tpl_comment.php
<div class="comment-author-town"><span class="comment-town"><?php echo $comment->town; ?></span></div>
7. В файл после 89-й строки /administrator/components/com_jcomments/views/comment/tmpl/edit.php
<div class="control-group">
<div class="control-label">
<?php echo $this->form->getLabel('town'); ?>
</div>
<div class="controls">
<?php echo $this->form->getInput('town'); ?>
</div>
</div>
8. В файл после 60-й строки /administrator/components/com_jcomments/models/forms/commets.xml
<field
name="town"
type="text"
class="inputbox"
size="40"
label="A_COMMENT_TOWN"
description="" />
9. В файл после 343-й строки /administrator/components/com_jcomments/models/forms/setting.xml
<field
name="author_town"
type="list"
class="inputbox"
default="1"
label="AP_FORM_FIELD_AUTHOR_TOWN"
description=""
filter="int">
<option value="0">AP_FORM_FIELD_DISABLED</option>
<option value="1">AP_FORM_FIELD_UNREQUIRED</option>
<option value="3">AP_FORM_FIELD_REQUIRED_FOR_ALL</option>
</field>
10. В файл после 118-й строки /administrator/components/com_jcomments/view/comments/tmpl/default.php
<br />
<?php echo $item->town; ?>
11. В файл добавить /language/ru-RU/ru-RU.com_jcomments.ini
ERROR_EMPTY_TOWN="Пожалуйста, введите населенный пункт!"
FORM_TOWN="Населенный пункт"
FORM_TOWN_REQUIRED="Населенный пункт (обязательное)"
12. В файл добавить /administrator/language/ru-RU/ u-RU.com_jcomments.ini
AP_FORM_FIELD_AUTHOR_TOWN="Населенный пункт"
A_COMMENT_TOWN="Населенный пункт"