malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« : 07.02.2011, 19:26:28 » |
|
Привет, Смарт! Привет ребята!
Я предлагаю сделать в JComments возможность кастомизировать фразы (перевод) для разных целей (категорий, айди??).
Например: на сайте есть блог с комментами и есть страница отзывов (гостевуха).
1) В блоге будет "добавить комментарий", "автор комментария", т.е. все по дефолту 2) На странице отзывов будет "добавить отзыв", "автор отзыва", "подписаться на отзыв" etc.
Было бы здорово.
Спасибо.
|
|
|
|
|
Записан
|
|
|
|
|
SDKiller
|
 |
« Ответ #1 : 07.02.2011, 20:19:28 » |
|
На уровне шаблона можно сделать
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #2 : 07.02.2011, 21:52:55 » |
|
а как это сделать? Подскажите,пожалуйста. Мне этого не хватает очень
|
|
|
|
|
Записан
|
|
|
|
|
SDKiller
|
 |
« Ответ #3 : 07.02.2011, 22:14:56 » |
|
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, 22:21:27 от SDKiller »
|
Записан
|
|
|
|
effrit
Группа развития
   
Репутация: +576/-5
Offline
Пол: 
Сообщений: 5524
effrit.com
|
 |
« Ответ #4 : 07.02.2011, 22:19:09 » |
|
да, я тоже как-то мимоходом подумал про это. если хочешь гостевуху и камменты-надо править код. при этом было бы логичнее в шаблонах разнести такой функционал. не критично, но всё же.
|
|
|
|
|
Записан
|
|
|
|
|
SDKiller
|
 |
« Ответ #5 : 07.02.2011, 22:23:06 » |
|
Так это и был дефолтный шаблон. Можно же сделать на его базе свой
|
|
|
|
|
Записан
|
|
|
|
effrit
Группа развития
   
Репутация: +576/-5
Offline
Пол: 
Сообщений: 5524
effrit.com
|
 |
« Ответ #6 : 07.02.2011, 22:26:39 » |
|
ну и? я имел в виду, что из админки управлять такими вещами. чтобы, к примеру, выбранной категории цеплять этот новый шаблон. понятно, что шаб можно клонировать, но ты его через админку ко всему сайту применишь и всё. в любом случае, можно в теме запостить ещё пару вариантов "смены поведения", тогда будет некое решение. если не системное, то форумное )
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #7 : 07.02.2011, 22:34:04 » |
|
спасибо большое,SDKiller! Буду пробовать. Будет хорошо,если это через админку можно будет сделать,конечно. Например,создать несколько языковый вариаций на основе дефолтного языка и цеплять их.я повторяю ваши идеи,но они,видимо,витают в воздухе. Так будет проще,это точно.
|
|
|
|
|
Записан
|
|
|
|
|
SDKiller
|
 |
« Ответ #8 : 07.02.2011, 22:37:33 » |
|
Через админку в идеале много чего хотелось бы делать.
Но для бесплатного компонента фукционал и гибкость более чем достаточны для 99% потребностей, а иногда и 199%.
В принципе можно попробовать плагином чего-то добиться, к событиям там можно привязаться.
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #9 : 07.02.2011, 22:47:55 » |
|
компонет прекрасный,бесспорно,я бы его покупал,если бы он был платным. Но, идеи для развития функционала не могут закончится у комьюнити,и это хорошо,имхо. Мне кажется, что связка гостевуха-комментарии работает на многих сайтах. И это-один из вариантов развития компонента. Не обязательный,но-перспективный имхо
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #10 : 13.02.2011, 00:18:17 » |
|
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
|
 |
« Ответ #11 : 13.02.2011, 01:23:32 » |
|
Почему не должно работать? Я специально не задавался конечно этой целью, пример навскидку был дан. Но сейчас проверил - работает:  Просто данная строка - это ссылка на форму, которая отображается, если в настройках установлено "Форма добавления комментария - По умолчанию -Скрыть" Для других вариантов отображения надо в шаблоне смотреть соответствующие строки Например строка 39 делаем: <h4><?php if ($object_id==7) {echo JText::_('FORM_HEADER2');} else {echo JText::_('FORM_HEADER');} ?></h4>
|
|
|
|
« Последнее редактирование: 13.02.2011, 01:27:57 от SDKiller »
|
Записан
|
|
|
|
|
SDKiller
|
 |
« Ответ #12 : 13.02.2011, 01:41:14 » |
|
В 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
|
 |
« Ответ #13 : 13.02.2011, 01:52:17 » |
|
Вот пример с 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
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #14 : 13.02.2011, 02:42:29 » |
|
Заработало! Ураа! Огромное спасибо, SDKiller!
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #15 : 13.02.2011, 11:11:09 » |
|
SDKiller, прошу прошения за беспокойство, я никак не могу 3 вещи переименовать в отзывы:
1) Фразу - Комментарии + мал.значок RSS + мал.значок обновить перед списком комментариев вверху 2) Обновить список комментариев и RSS лента комментариев этой страницы после списка комментариев 3) Всплывающую надпись - Спасибо за Ваш комментарий, он будет опубликован после проверки модератором!
Помогите пожалуйста.
Остальное у меня получилось по Вашим примерам.
|
|
|
|
|
Записан
|
|
|
|
|
SDKiller
|
 |
« Ответ #16 : 13.02.2011, 11:53:16 » |
|
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
|
 |
« Ответ #17 : 13.02.2011, 11:57:44 » |
|
1) Фразу - Комментарии + мал.значок RSS + мал.значок обновить перед списком комментариев вверху 2) Обновить список комментариев и RSS лента комментариев этой страницы после списка комментариев
Это tpl_list.php строки 80, 88 и 107 - при плоском списке отображения или tpl_tree.php строки 107, 116 и 135 - при древовидном
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #18 : 13.02.2011, 16:58:57 » |
|
Фуф! Не все сделал, но почти все. Часть универсально переименовал, как Вы отлично посоветовали: 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! Все - равно буду ждать Вашего плагина такого, т.к. с гуи будет очень удобно людям =) 
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #19 : 13.02.2011, 21:54:27 » |
|
Скажем так, в зачаточном состоянии механизм подмены языковых файлов уже есть, но пока я в нем вижу не очень много смысла. Через версию будет реализована возможность разделения настроек JComments по компонентам (в галерее одни настройки комментирования, в магазине другие, в статьях - третьи), вот там я добавлю возможность выбора конкретного языкового пакета.
|
|
|
|
|
Записан
|
|
|
|
malavka
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 49
|
 |
« Ответ #20 : 05.04.2012, 16:43:39 » |
|
Скажем так, в зачаточном состоянии механизм подмены языковых файлов уже есть, но пока я в нем вижу не очень много смысла. Через версию будет реализована возможность разделения настроек JComments по компонентам (в галерее одни настройки комментирования, в магазине другие, в статьях - третьи), вот там я добавлю возможность выбора конкретного языкового пакета.
Привет smart, SDKiller, друзья! Как в JComments 2.3.0 разные варианты фразы "Добавить комментарий" сделать? Мне надо только в одной категории сделать "Оставить Отзыв". А в остальных - "Оставить Комментарий". Вариант для пред. версии, который SDKiller мне любезно давал ранее (выше) подойдет? Заранее спасибо за ответы
|
|
|
|
|
Записан
|
|
|
|
|