Новости Joomla

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

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Привет, Смарт! Привет ребята!

Я предлагаю сделать в JComments возможность кастомизировать фразы (перевод) для разных целей (категорий, айди??).

Например: на сайте есть блог с комментами и есть страница отзывов (гостевуха).

1) В блоге будет "добавить комментарий", "автор комментария", т.е. все по дефолту
2) На странице отзывов будет "добавить отзыв", "автор отзыва", "подписаться на отзыв" etc.

Было бы здорово.

Спасибо.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
На уровне шаблона можно сделать
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
а как это сделать? Подскажите,пожалуйста. Мне этого не хватает очень
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
tpl_form.php в строке 227 можно модифицировать вот эту часть

Код
<?php echo JText::_('FORM_HEADER'); ?>

вставив туда условие. В зависимости от того, к чему у вас прикручены отзывы - либо по id материала, либо по Itemid, если к другому компоненту - через $object_group.
В языковом файле FORM_HEADER=Добавить комментарий

Делаем, например так (предположим, что страница отзывов - это материал с id=13):

Код
<?php if ($object_id==13) {echo JText::_('FORM_HEADER2');} else {echo JText::_('FORM_HEADER');} ?>

В языковой файл добавите FORM_HEADER2=Добавить отзыв

С остальными надписями - аналогичным образом.
Можно всё это упорядочить и проверять условие где-то в одном месте заранее, а в JText подставить свои переменные, значения которых будут определяться в зависимости от выполнения условия
« Последнее редактирование: 07.02.2011, 21:21:27 от SDKiller »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
да, я тоже как-то мимоходом подумал про это. если хочешь гостевуху и камменты-надо править код.
при этом было бы логичнее в шаблонах разнести такой функционал. не критично, но всё же.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Так это и был дефолтный шаблон.
Можно же сделать на его базе свой
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну и?
я имел в виду, что из админки управлять такими вещами.
чтобы, к примеру, выбранной категории цеплять этот новый шаблон.
понятно, что шаб можно клонировать, но ты его через админку ко всему сайту применишь и всё.
в любом случае, можно в теме запостить ещё пару вариантов "смены поведения", тогда будет некое решение. если не системное, то форумное )
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
спасибо большое,SDKiller! Буду пробовать. Будет хорошо,если это через админку можно будет сделать,конечно. Например,создать несколько языковый вариаций на основе дефолтного языка и цеплять их.я повторяю ваши идеи,но они,видимо,витают в воздухе. Так будет проще,это точно.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Через админку в идеале много чего хотелось бы делать.

Но для бесплатного компонента фукционал и гибкость более чем достаточны для 99% потребностей, а иногда и 199%.

В принципе можно попробовать плагином чего-то добиться, к событиям там можно привязаться.
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
компонет прекрасный,бесспорно,я бы его покупал,если бы он был платным. Но, идеи для развития функционала не могут закончится у комьюнити,и это хорошо,имхо. Мне кажется, что связка гостевуха-комментарии работает на многих сайтах. И это-один из вариантов развития компонента. Не обязательный,но-перспективный имхо
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
tpl_form.php в строке 227 можно модифицировать вот эту часть

Код
<?php echo JText::_('FORM_HEADER'); ?>

вставив туда условие. В зависимости от того, к чему у вас прикручены отзывы - либо по id материала, либо по Itemid, если к другому компоненту - через $object_group.
В языковом файле FORM_HEADER=Добавить комментарий

Делаем, например так (предположим, что страница отзывов - это материал с id=13):

Код
<?php if ($object_id==13) {echo JText::_('FORM_HEADER2');} else {echo JText::_('FORM_HEADER');} ?>

В языковой файл добавите FORM_HEADER2=Добавить отзыв

С остальными надписями - аналогичным образом.
Можно всё это упорядочить и проверять условие где-то в одном месте заранее, а в JText подставить свои переменные, значения которых будут определяться в зависимости от выполнения условия



У меня не сработала эта конструкция. Я создал на локалке тестовый материал с id=14
Строка 227 у меня такая получилась-
Код
<a id="addcomments" class="showform" href="#addcomments" onclick="jcomments.showForm(<?php echo $object_id; ?>,'<?php echo $object_group; ?>', 'comments-form-link'); return false;"><?php if ($object_id==14) {echo JText::_('FORM_HEADER2');} else {echo JText::_('FORM_HEADER');} ?></a>

не работает, к сожалению. У Вас работает?
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Почему не должно работать?

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

Но сейчас проверил - работает:





Просто данная строка - это ссылка на форму, которая отображается, если в настройках установлено

"Форма добавления комментария - По умолчанию -Скрыть"

Для других вариантов отображения надо в шаблоне смотреть соответствующие строки

Например строка 39 делаем:

Код
<h4><?php if ($object_id==7) {echo JText::_('FORM_HEADER2');} else {echo JText::_('FORM_HEADER');} ?></h4>
« Последнее редактирование: 13.02.2011, 00:27:57 от SDKiller »
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
В tpl_links.php надо перед 75 строкой добавить

Код
			$object_id = $this->getVar('comment-object_id');

И далее предусмотреть условия для всех языковых переменных в этом фрагменте:

Код
		if ($count == 0) {

return '<a href="' . $link . '#addcomments" class="' . $css . '">' . JText::_('Add comment'). '</a>';
} else {
$text = JText::sprintf('Read comments', $count);

if ($this->getVar('use-plural-forms', 0)) {
$comments_pf = JText::_('comments_pf');

if ($comments_pf != '') {
global $mainframe;
$pf = JoomlaTuneLanguageTools::getPlural($mainframe->getCfg('lang'), $count, $comments_pf);
if ($pf != '') {
$text = JText::sprintf('COMMENTS2', $count, $pf);
}
}
}

switch($style) {
case -1:
return '<span class="' . $css . '">' . $text . '</span>';
break;
default:

return '<a href="' . $link . '#comments" class="' . $css . '">' . $text . '</a>';
break;
}
}

*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
Вот пример с tpl_links

Код
		$object_id = $this->getVar('comment-object_id');
if ($count == 0) {
if ($object_id==7) {$what = 'Add comment2';} else {$what = 'Add comment';}
return '<a href="' . $link . '#addcomments" class="' . $css . '">' . JText::_($what). '</a>';
} else {
                   ...



*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Заработало! Ураа! Огромное спасибо, SDKiller!
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
SDKiller, прошу прошения за беспокойство, я никак не могу 3 вещи переименовать в отзывы:

1) Фразу - Комментарии + мал.значок RSS + мал.значок обновить перед списком комментариев вверху
2) Обновить список комментариев и RSS лента комментариев этой страницы после списка комментариев
3) Всплывающую надпись - Спасибо за Ваш комментарий, он будет опубликован после проверки модератором!

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

Остальное у меня получилось по Вашим примерам.
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
3) Всплывающую надпись - Спасибо за Ваш комментарий, он будет опубликован после проверки модератором!

Это JComments.ajax.php строки 556-558
Код
	JCommentsAJAX::showInfoMessage(JText::_('Thank you for your submission!'));
        } else {
JCommentsAJAX::showInfoMessage(JText::_('Thank you, your comment will be published once reviewed'));

Там в принципе должно сработать через $comment->object_id

Но я бы JComments.ajax.php лучше не трогал, а просто в языковом файле заменил бы эту фразу на что-то универсальное (например, Спасибо, Ваше сообщение будет опубликовано...)
*

SDKiller

  • Живу я здесь
  • 2706
  • 329 / 5
  • ...ergo sum
1) Фразу - Комментарии + мал.значок RSS + мал.значок обновить перед списком комментариев вверху
2) Обновить список комментариев и RSS лента комментариев этой страницы после списка комментариев

Это tpl_list.php строки 80, 88 и 107 - при плоском списке отображения
или tpl_tree.php строки 107, 116 и 135 - при древовидном
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Фуф! Не все сделал, но почти все.  Часть универсально переименовал, как Вы отлично посоветовали:
1) Обновить список
2) RSS лента сообщений этой страницы
3) Спасибо за Ваше сообщение, оно будет опубликовано после проверки модератором!
С ними я не смог справится. Сложно для меня.


Исправленные php файлы закинул сюда- site.com/templates/shablon/html/com_jcomments/default  -

1)tpl_form.php
2) tpl_links.php
3) tpl_list.php

Спасибо Вам, SDKiller! Все - равно буду ждать Вашего плагина такого, т.к. с гуи будет очень удобно людям =)  *DRINK*


*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Скажем так, в зачаточном состоянии механизм подмены языковых файлов уже есть, но пока я в нем вижу не очень много смысла. Через версию будет реализована возможность разделения настроек JComments по компонентам (в галерее одни настройки комментирования, в магазине другие, в статьях - третьи), вот там я добавлю возможность выбора конкретного языкового пакета.
*

malavka

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Скажем так, в зачаточном состоянии механизм подмены языковых файлов уже есть, но пока я в нем вижу не очень много смысла. Через версию будет реализована возможность разделения настроек JComments по компонентам (в галерее одни настройки комментирования, в магазине другие, в статьях - третьи), вот там я добавлю возможность выбора конкретного языкового пакета.

Привет smart, SDKiller, друзья!

Как  в JComments 2.3.0     
разные варианты фразы "Добавить комментарий" сделать?

Мне надо только  в одной категории сделать "Оставить Отзыв".

А в остальных - "Оставить Комментарий".

Вариант для пред. версии, который SDKiller мне любезно давал ранее (выше) подойдет?

Заранее спасибо за ответы
 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить систему рейтинга в JComments

Автор webtrack

Ответов: 59
Просмотров: 57463
Последний ответ 17.05.2021, 11:21:08
от McCafferty
Вывод текста "Спасибо за ваш комментарий"

Автор One

Ответов: 0
Просмотров: 2230
Последний ответ 31.10.2017, 12:56:02
от One
Возможность получать уведомления при ответе именно на свой комментарий

Автор wishlight

Ответов: 0
Просмотров: 2845
Последний ответ 30.07.2016, 18:59:24
от wishlight
Ответ на любой комментарий прямо из админки

Автор Avatar

Ответов: 4
Просмотров: 3658
Последний ответ 03.03.2015, 15:28:54
от DeMoN75
Добавить JComments в раздел JED extensions specific

Автор Sulpher

Ответов: 1
Просмотров: 2472
Последний ответ 11.08.2014, 12:39:19
от smart