×
HeadHunter and Superjob rezume updater on Ruby on Rails (21 авг 2017)

Практикуемся в написании кода под rails.

Важно Новые сообщения на стене

Больше
3 года 1 мес. назад #1 от photosho
photosho создал эту тему: Новые сообщения на стене
Здравствуйте, а я к вам с новым вопросом. Имеется форум Kunena 3 и компонент Community Builder. В CB установлен плагин ProfileBook, позволяющий создать внутри профиля что-то вроде стены, как в известных социальных сетях. Необходимо вывести на форуме (справа на стандартной панели профиля в главной странице форума) ссылку на профиль пользователя с указанным количеством новых сообщений, например, так:

Стена (0)


И обновлять это значение без перезагрузки страницы (Ajax, я так понимаю). Залез в базу данных - в ней в таблице comprofiler_plug_profilebook записаны все сообщения, оставленные на стенах. В этой таблице есть поле Status (0, 1) - как я понимаю, именно оно и отвечает за пометку, прочитано или нет.

Каким образом можно решить представленную проблему - то есть, получить количество непрочитанных сообщений на стене для определенного пользователя? В идеале, обновляя эти данные без перезагрузки страницы.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад #2 от ralf
ralf ответил в теме Новые сообщения на стене

photosho пишет: Необходимо вывести на форуме (справа на стандартной панели профиля в главной странице форума) ссылку на профиль пользователя с указанным количеством новых сообщений


Здравствуйте. Подобная задача уже была решена, как минимум один раз. Я имею в виду mod_uddeim_mailbox для компонента uddeim . Почти один в один то что вы говорите, очень простой модуль выводит количество сообщений в личке, прочитанных и непрочитанных. Почему бы не взять требующийся принцип работы оттуда?
Спасибо сказали: photosho

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад - 3 года 1 мес. назад #3 от photosho
photosho ответил в теме Новые сообщения на стене
ralf, спасибо за совет, проблема решена следующим образом:

1. В файл "modules/mod_uddeim_mailbox/mod_uddeim_mailbox.php" добавлены следующие записи:
$myshowwall = $params->get( 'myshowwall', 1);
if ( $myshowwall ) {
	$uddsql="SELECT COUNT(*) FROM #__comprofiler_plug_profilebook WHERE status = 0 AND userid = ".(int)$udduserid;
	$udddatabase->setQuery($uddsql);
	$uddresult=(int)$udddatabase->loadResult();
	if ($uddresult>0) {
		$uddout .= "<p class='uddeim-module-head'>";
		$uddout .= '<a href="'.uddeIMsefRelToAbs( "component/comprofiler/userprofile".($udditem_id ? "&Itemid=".$udditem_id : "") ).'" title="'._WALLCOUNT.'">';
		$uddout .= _WALLCOUNT." ".$uddresult;
		$uddout .= "</p>";
	}

Сам текст запроса взят из файла:

components/com_comprofiler/plugin/user/plug_cbprofilebook/cb.profilebook.php


Константа "_WALLCOUNT" была внесена в языковые файлы по следующим адресам:

administrator/components/com_uddeim/language/
administrator/components/com_uddeim/language.utf8/


Возможно, не совсем правильное решение - объединять UddeIM и CommunityBuilder, но другое решение пока в голову не пришло - что самое важное, ссылка на стену с указанием количества новых сообщений располагается в том же модуле, что и ссылка на новые Личные сообщения.
Последнее редактирование: 3 года 1 мес. назад от photosho.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад - 3 года 1 мес. назад #4 от Aleksej
Aleksej ответил в теме Новые сообщения на стене
Переместил тему в другую категорию, более, на мой взгляд, соответствующую; бывали и в моей практике, и в практике моих коллег кое-какие эксперименты с Community Builder, небольшой ряд отчетов о них вы можете видеть в этой ветке форума. Кратко скажу, что компонент произвел на меня впечатление некоего монстра; довольно неповоротливый, очень тяжелый и очень, очень специфичный. Обратились мы к нему только однажды, и это был момент, когда потребовалось сделать личный кабинет пользователя... повторюсь - оно, может статься, и неплохо, особенно в связке с Magic Window , но уж больно тяжеловесен. Если не секрет, для каких целей вам потребовался CB, photosho ? уверены, что - не из пушки по воробьям это получается? - знаю админа, поставившего CB на свой сайт только вследствие возможности несложной организации средствами Community Builder расширенной формы регистрации... на мой взгляд, здесь цель явно не оправдывала средства.
Последнее редактирование: 3 года 1 мес. назад от Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад - 3 года 1 мес. назад #5 от photosho
photosho ответил в теме Новые сообщения на стене
Aleksej, в какой-то степени, возможно, именно "из пушки по воробьям", но лучших решений пока найдено не было. Здесь есть несколько ключевых плюсов - это и более удобная регистрация, и профиль пользователя в более удобном для меня виде, и возможность публиковать записи на стенах в профилях, а также, что-то вроде заметок (блога) там же.

Конечно, он создает впечатление тяжеловесного, так как является компонентом для организации чего-то вроде социальных сетей на сайтах. В каком смысле называете его тяжеловесным вы? Замедляет работу сайта? И, если это так, в каких случаях медленная работа бывает более всего заметна? Разумеется, целью создаваемого мною сайта не является организация социальной сети, но наличие стены и заметок в профиле, вроде, пока пользуется популярностью, а также, и сам профиль представляет в более красивом свете.
Последнее редактирование: 3 года 1 мес. назад от photosho.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад - 3 года 1 мес. назад #6 от Aleksej
Aleksej ответил в теме Новые сообщения на стене
Имелось в виду, что CB добавляет неслабый ряд запросов к БД, и это еще к тому обстоятельству, что Joomla и без того перегружена ими. Кроме того - местами компонент производит впечатление сырого, это касается порой и написанных под него плагинов. К слову, помнится, мы не смогли заставить работать один из них (Magic Window) на последней версии компонента, пришлось откатываться к более ранней; и даже тут без хардкода не обошлось.

Описанное обстоятельство особенно критично, увы, именно для российских хостингов (я сейчас про шаред). Перманентно сталкиваюсь с ситуацией, когда процесс, не вызывающий никаких проблем на ровно таком же забугорном хостинге - режется на корню на хостинге российском. Начинаешь разбираться - выходит, что тот же импорт из 1С посредством CSV Improved непомерно ресурсоемок для вашего шаред-акккаунта; и, в то же время, тот же самый HostGator, на том же шареде, практически не почувствует, что именно в этот момент вы что-то там импортируете. О чем речь; даже резервное копирование средствами Akeeba backup порой выбрасывает ваш аккаунт в аут, взгляните , скажем, на истории с Мастерхостом.... к слову, он далеко не одинок в этом контексте. Впечатление, что многие и многие владельцы российских хостингов считают такой способ работы некоей рекламой, что ли... чем-то вроде shareware: дескать, вот тебе демка, которая де-факто практически не работает в нормальном, общепринятом значении этого слова... но если есть деньги - ты можешь перейти на иной аккаунт, где лимиты не столь безбожно малы. Для меня же, например, это ярко выраженный образчик антирекламы... чтобы не быть голословным - вчера и позавчера, например, таймвебовский сервак ULTRA просто лежал на боку, сперва, вероятно, у них MySQL упал (если судить по информационным сообщениям админки Joomla - впечатление именно такое), а на следующий день полегло уже и все остальное. Звонить и ругаться практически бесполезно: тебе в лучшем случае предложат перейти на "сервер для Битрикс", который у них "лучше сбалансирован", в худшем - не ответят вообще ничего. Да и что здесь способен ответить технарь? - this is a russian business, my friend.

Такова реальность. Что до решения описанной вами задачи - в качестве альтернативы сам собой напрашивается еще один путь; если возникнет аналогичный вопрос - можно попробовать использовать MySQL Field for CB, этот плагин позволяет выводить в пользовательский профиль результаты произвольных запросов к БД. Насколько помню, даже до уровня кода опускаться не придется, все делается из админки. Впрочем, попробуйте.
Последнее редактирование: 3 года 1 мес. назад от Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад #7 от photosho
photosho ответил в теме Новые сообщения на стене
Aleksej, спасибо за детальное разъяснение. В общем, будем пробовать и учиться на своих и чужих ошибках. А вообще, насчет сырости CB у меня, особо никогда не занимающегося веб-программированием, уже, также, возникали подозрения. Есть некоторые моменты, немного настораживающие, которые, впрочем, могут идти и от моего незнания. Особенно, в плагинах для него, таких как CBProfileBook.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.