Новости Joomla

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

ft990

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Еще раз проверил. Все в порядке комментарии работают. Не могут же они работать если базы нет?
Или я все путаю. Может эту таблицу надо создать?
*

ft990

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Действительно, все пересмотрел. У меня jcomments в таблицах только с qkrf5_jcomments и прочие jcomments только с qkrf5. Загрузил компонент заново, все тоже самое. В чем фишка?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
В чем фишка?
Я думаю в настройках ) у вас префикс таблиц не jos, а qkrf5.
*

ugrumy

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Добрый день. По инструкции добавил поле "Город". Но никак не могу его вывести в админ панели (в редактировании комментария). Как я понял выводит "edit.php". Я по образу "e-mail" добавляю "town"
<div class="control-group">
                  <div class="control-label">
                     <?php echo $this->form->getLabel('email'); ?>
                  </div>
                  <div class="controls">
                     <?php echo $this->form->getInput('email'); ?>
                  </div>
               </div>
<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>
Но в адмике выводится пустая строка с пустыми divами.

Если пишу:
<div class="control-group">
                  <div class="control-label">
                     <label for="comments-form-town">Город</label>
                  </div>
                  <div class="controls">
                     <?php echo $comment->town; ?>
                  </div>
               </div>
То выводится только "Город", а значение нет. Совсем голову сломал, в php не очень силен.
Подскажите в куда копать и какой код добавить что бы можно было увидеть в админ панели. Версия JComments 3.0.5 Stable
*

sergeosn

  • Захожу иногда
  • 70
  • 0 / 0
Присоединяюсь к вопросу. При добавлении новых полей, подскажите пожалуйста, какие файлы и где править чтоб в панели управления можно было редактировать  комментарии и по новым полям.
Поковырял администратор/компоненты/... но не могу полностью вникнуть, где необходимо прописывать новые параметры, где сидит запрос, и где прописывается чтоб при редактировании сохранялось назад в базе.

Помогите пожалуйста.
*

sergeosn

  • Захожу иногда
  • 70
  • 0 / 0
ОФТОП: Совсем глухо?
*

sergeosn

  • Захожу иногда
  • 70
  • 0 / 0
Как и ожидалось. Поля себе подобавляли, а поделится, а зачем...
Решение добавления полей в админку (непосредственно в изменение комментария):
administrator/components/com_jcomments/
1. /tables/comment.php

После
Код
 /** @var string */
var $editor = '';

Добавляем
Код
var $polenew = null;

Тут ж после
Код
$this->comment = $this->clearComment($this->comment);
Добавляем
Код
$this->polenew= $this->clearComment($this->polenew);

2. /views/comment/tmpl/edit.php
Добавляем отображение
Код
<div class="control-group">
 <div class="control-label">
  <?php echo $this->form->getLabel('polenew'); ?>
 </div>
 <div class="controls">
  <?php echo $this->form->getInput('polenew'); ?>
 </div>
</div>

3. /classes/import/adapters/ccomment.php
После
Код
$table->comment = $row->comment;
Добавляем
Код
$table->polenew = $row->polenew ;

4. /models/forms/comment.xml
Добавляем свой фиелд
Код
<field 
name="polenew"
type="textarea"
class="inputbox span9"
rows="10"
cols="30"
filter="raw"
label="A_COMMENT_POLE"
description=""
required="true" />

Где type="textarea" - это тип вашего поля
label="A_COMMENT_POLE" - а эту переменну загоняем соответсвенно в лангуаге... administrator/language/ru-RU/ru-RU.com_jcomments.ini


Вот и все)
« Последнее редактирование: 29.01.2015, 21:03:36 от sergeosn »
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Подскажите кто-нибудь делал это на версии 2.3?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Подскажите кто-нибудь делал это на версии 2.3?
забудьте про 2.3, она реально устарела... обновитесь)
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Обновиться можно, но вопрос тогда тот же. Как добавить доп. поле в новой версии? для самой старой инструкция есть на офф сайте, для 2.3 и свежее решения нигде нет.
*

Sulpher

  • Живу я здесь
  • 2115
  • 401 / 16
  • Шаблоны и расширения Joomla
Кстати, а как по навигации попасть сюда? http://www.joomlatune.ru/how-to-add-extra-fields-to-jcomments.html
Внимательно изучил JoomlaTune, не нашел перехода, эту ссылку получил, вбив в поиск фразу.


*

JaneFaint

  • Захожу иногда
  • 121
  • 3 / 0
Мне тоже интересно, есть ли инструкция по добавлению полей для новой Jcomments, где объявляется класс JCommentsDB? в  jcomments.class.php его нет..
*

shaverma

  • Осваиваюсь на форуме
  • 38
  • 1 / 0
Мне тоже интересно, есть ли инструкция по добавлению полей для новой Jcomments, где объявляется класс JCommentsDB? в  jcomments.class.php его нет..
Сейчас копаюсь, классы перечисляются в файле com_jcomments\classes\acl.php
Код
class JCommentsACL
{
var $canDelete = 0;
var $canDeleteOwn = 0;
var $canDeleteForMyObject = 0;
var $canEdit = 0;
var $canEditOwn = 0;
var $canEditForMyObject = 0;
var $canPublish = 0;
var $canPublishForMyObject = 0;
var $canViewIP = 0;
var $canViewEmail = 0;
var $canViewHomepage = 0;
var $canViewTown = 0; //МОЕ НОВОЕ
var $canComment = 0;
var $canQuote = 0;
var $canReply = 0;
var $canVote = 0;
var $canReport = 0;
var $canBan = 0;
var $userID = 0;
var $userIP = 0;
var $deleteMode = 0;
var $userBlocked = 0;
*

shtoff31

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Подниму тему. Поле добавил, галочка ставится, но как сделать ее обязательной? Чтобы без установки галочки комментарий не отправлялся.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Подниму тему. Поле добавил, галочка ставится, но как сделать ее обязательной? Чтобы без установки галочки комментарий не отправлялся.
jcomments.ajax.php в этом файле проверки, насколько я помню.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

shtoff31

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
jcomments.ajax.php в этом файле проверки, насколько я помню.
Точно, там все проверки. А как реализовать? Я в PHP ни в зуб ногой.
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Решение для 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="Населенный пункт"
*

shtoff31

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Это все описано для текстового поля, а как для того, чтобы было обязательным проставление галки?
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Это все описано для текстового поля, а как для того, чтобы было обязательным проставление галки?
а какая разница? если галочка не установлена - значение переменной будет не установлено, переменная не будет существовать, смотрим 3 шаг, там только условие немного изменить, проверять не на пустоту а на существование
Код
} else if (($config->getInt('author_town', 3) == 3) && isset($values['town'])) {
self::showErrorMessage(JText::_('ERROR_EMPTY_TOWN'), 'town');
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ссылка "Добавить комментарий" только к полному материалу

Автор AlexP750

Ответов: 0
Просмотров: 1453
Последний ответ 24.08.2021, 13:27:48
от AlexP750
Добавить Вопрос-ответ jcomments. Отзывы+Вопрос-ответ(комментарии)

Автор Dolphin4ik_1

Ответов: 2
Просмотров: 2691
Последний ответ 24.04.2021, 22:42:41
от Dolphin4ik_1
Добавить Вопрос-ответ jcomments. Отзывы+Вопрос-ответ(комментарии)

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 1044
Последний ответ 24.04.2021, 21:41:44
от Dolphin4ik_1
Выпадающий список в поле "Тема"

Автор Ахмат

Ответов: 7
Просмотров: 615
Последний ответ 08.09.2020, 20:22:03
от voland
Как добавить цель к кнопке отправка?

Автор Dolphin4ik_1

Ответов: 9
Просмотров: 1980
Последний ответ 29.03.2019, 08:13:18
от draff