Добавить поле в jcomments (add fields to jcomments)

Обсуждение вопросов сязаных с WEB (сайты, скрипты, дизайн...)

Добавить поле в jcomments (add fields to jcomments)

Сообщение gafar » 03 фев 2017, 22:00

Добавить поле в jcomments (add fields to jcomments)
Чтобы добавить дополнительное поле в jcomments 3.0, необходимо внести изменения в файлы. Еще необходимо терпение, если добавлять управление дополнительным полем в 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/ ru-RU.com_jcomments.ini

AP_FORM_FIELD_AUTHOR_TOWN="Населенный пункт"
A_COMMENT_TOWN="Населенный пункт"

Вот и все, для минимальной реализации.

Еще что может понадобится в jcomments, это редактирование даты комментария. Для этого необходимо в файле удалить readonly="true"

/administrator/components/com_jcomments/models/forms/comment.xml
<field
name="date"
type="calendar"
class="inputbox readonly"
size="22"
label="A_COMMENT_DATE"
description=""
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
labelclass="control-label" />
gafar
Администратор
 
Сообщения: 18
Зарегистрирован: 05 фев 2012, 19:42
Игроки Игротеки: 8
Чемпион в поединках Игротеки: 0

Вернуться в WEB мастер

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron