Новости Joomla

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

WT IndexNow плагин для Joomla - отправка страниц сайта на переиндексацию в поисковые системы

WT IndexNow плагин для Joomla - отправка страниц сайта на переиндексацию в поисковые системы

👩‍💻 WT IndexNow плагин для Joomla - отправка страниц сайта на переиндексацию в поисковые системы.Пакет плагинов, обеспечивающий ручную и автоматическую отправку url адресов Joomla в поисковые системы на переиндексацию по протоколу IndexNow. Согласно документации протокол поддерживают все крупнейшие поисковые системы, кроме Google. Протокол служит для получения от сайтов URL, которые нужно переиндексировать заново или проиндексировать в первый раз как можно быстрее. Отправка адресов сайта таким образом существенно ускорит индексацию нового или изменённого контента поисковыми системами.Поисковые системы по этому протоколу обмениваются друг с другом данными, поэтому отправив URL в одну из них вы сообщаете их сразу всем. Протокол IndexNow поддерживают:- Amazon- Microsoft Bing- Naver- Seznam.cz- Yandex - YepСуточный лимит URL - 10000 в сутки. Возможна отправка вручную и автоматически. Поддерживаются:- материалы и категории материалов Joomla- контакты и категории контактов Joomla- SW JProjects - компонент каталога расширений для Joomla- JoomShopping - компонент интернет-магазина для Joomla- Phoca Download - компонент каталога файлоа для Joomla- Phoca Cart - компонент интернет-магазина для Joomla- RadicalMart - компонент интернет-магазина для JoomlaПакет плагинов работает с Joomla 4.3+. Тестировался на Joomla 5 и Joomla 6.Смотреть видео:- ВК Видео- RuTubeСсылки:Страница расширенияGitHub расширенияРаздел Поддержка протокола IndexNow в справке Яндекса@joomlafeed#joomla #seo #indexnow

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

bfox

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
как ограничить длину статуса. ибо так зафлудить можно...
*

bfox

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: ограничение длины статуса
« Ответ #1 : 05.02.2010, 21:22:00 »
   <div class="helloMeStatusText" style="margin-top:5px;">
                  <div id="helloMeEdit" style="display: none;">
                     <input name="helloMeStatusText" id="helloMeStatusText" type="text" class="status inputbox" style="width: 90%; margin: 0 auto;" value="" onblur="helloMe.saveStatus();return false;" onkeyup="helloMe.saveChanges(event);return false;" />
                  </div>
                  <div id="helloMeDisplay">
                     <span href="javascript:void(0);" id="helloMeStatusLink" style="text-decoration: none; cursor: pointer;" onclick="helloMe.changeStatus();">
                        <span id="helloMeStatus" style="text-decoration: none;"></span>
                     </span>
                    </div>
               </div>
            </div>
            
            <div style="border-bottom: 1px solid #ecebeb; margin: 4px 0; padding: 0 0 10px;">
               <a href="javascript:void(0);" id="saveLink" style="line-height: 18px; padding: 0 0 0 22px; display: none; background: transparent url(<?php echo JURI::root(); ?>modules/mod_hellome/images/icons-16x16.gif) no-repeat 0 -440px;" onclick="helloMe.saveStatus();" class="icon-save"><?php echo JText::_('MOD_HELLOME SAVE MY STATUS'); ?></a>
               <a href="javascript:void(0);" id="editLink" style="line-height: 18px; padding: 0 0 0 22px; display: block; background: transparent url(<?php echo JURI::root(); ?>modules/mod_hellome/images/icons-16x16.gif) no-repeat 0 -419px;" onclick="helloMe.changeStatus();" class="icon-edit"><?php echo JText::_('MOD_HELLOME EDIT MY STATUS'); ?></a>
            </div>
подскажите как мах длину указать
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Прикрутил себе MyBlog и тут же в ленте активности стали напрягать огромные сообщения, которые там совершенно ни к чему... к тому же, чисто теоретически и другие активности могут быть тоже длинными, например комментарии... в общем решил копать не в MyBlog, а сделать более универсальный вариант.

Нам нужен файл: /com_community/libraries/activities.php начиная со строк 103-105, которые выглядят следующим образом:

Код
		if( $act->content == 'This is the body' ){
return '';
}

после этих строк вставляем следующий код:

Код
		$str = strip_tags(html_entity_decode(JString::trim($act->content))); // приводим строку к виду "только текст", теги на всякий случай тоже удаляем, зачем они нам в анонсе?

$limit = 600; // сколько символов оставляем
if (JString::strlen($str) > $limit) {
$limit = JString::strpos($str, " ", $limit);
$str = JString::substr($str, 0, $limit). '...'; //обрезаем до ближайшего пробела после указанного кол-ва символов и добавляем в конце многоточие
}

$str = htmlentities ($str, ENT_COMPAT, 'UTF-8'); //возвращаем строке вид, который хавает jomsocial

$act->content = $str;

Вуаля! Этот же кусок кода можно использовать для обрезания всех остальных объёмных данных в социалке, например длинные описания групп на главной
« Последнее редактирование: 09.03.2010, 12:39:52 от Zombeee »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Хмм, если я не ошибаюсь, то функция strlen (да и вообще все строковые функции) некорректно работает с UTF-8. Для работы со строками лучше всего использовать соответствующие методы JString.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Хмм, если я не ошибаюсь, то функция strlen (да и вообще все строковые функции) некорректно работает с UTF-8. Для работы со строками лучше всего использовать соответствующие методы JString.

нормально всё в данном случае работает, проверено :) с методами JString не разбирался, не знаю что там есть по этому поводу...
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Не работать то будет, но длина будет вычисляться некорректно + возможные некорректные обрезания строк.

Цитировать
PHP по умолчанию не поддерживает UTF-8 и поэтому надо быть очень осторожными при работе со строковыми переменными. PHP «предполагает», что все символы состоят из 8 бит (1 байт), но так как Unicode символы могут быть длинее, то возможно повреждение Unicode данных.

Конечно, существует специальный модуль для PHP – mbstring, который добавляет поддержку Unicode, но не на всех системах он установлен. В Joomla! у нас  есть специальный static JString класс; этот класс позволяет нам использовать множество строковых функций для работы с UTF-8 символами.

В данном примере мы используем JString для перевода строки в заглавные символы. Обратите внимание, что названия методов JString совпадают с привычными для нас строковыми функциями PHP:

$string = JString::strtoupper($string);

http://api.joomla.org/Joomla-Framework/Utilities/JString.html
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
уговорил :) я исправил первый пост! Кстати, спасибо за ссылочку на Joomla API, а то я всю joomla.org излазил но так и не нашел...
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
А где добавить эту функцию, чтоб ограничить - статус.
Сейчас там хоть книгу пихай.
Всё есть в тебе. Реализовывайся.
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Попробуйте в статус добавить 10000 символов. Они войдут... и отобразятся. И в ленте активности тоже.
Не могу найти , где применить данный вами код, чтоб ограничить длину статуса.
Всё есть в тебе. Реализовывайся.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
дело в том, что у меня шаблон свой и статус добавляется не в textarea. а в простой input, а так кол-во символов легко ограничить
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
дело в том, что у меня шаблон свой и статус добавляется не в textarea. а в простой input, а так кол-во символов легко ограничить
У меня шаблон стандартный. Может подскажешь куда смотреть и что править?
Всё есть в тебе. Реализовывайся.
*

Yavich

  • Захожу иногда
  • 133
  • 3 / 1
Спасибо, как раз начал это искать :)
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
У меня шаблон стандартный. Может подскажешь куда смотреть и что править?
ну, тут не так всё просто... во-первых надо ограничить кол-во вводимых знаков, у textarea это возможно сделать только с помощью java script, во-вторых, чтобы наверняка, нужно сделать проверку кол-ва символов перед записью в базу и выдавать ошибку, если их больше... короче тут надо писать, думать, время тратить... поищи по форумам готовые ява скрипты для ограничения ввода символов в текстареа
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Попробуйте в статус добавить 10000 символов. Они войдут... и отобразятся. И в ленте активности тоже.
Не могу найти , где применить данный вами код, чтоб ограничить длину статуса.
Zombeee, у тебя на сайте  такая-же проблема со статусом, сегодня оставил с testerа километровый статус.....
Может все-таки ограничить как нибудь кол-во символов на ввод в статусной строке? Так например Вконтакте делает.
Всё есть в тебе. Реализовывайся.
*

Zombeee

  • Захожу иногда
  • 328
  • 55 / 3
Хакеры блин :) да у меня просто ещё руки не дошли в инпуте поставить максимальное число символов :)
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Ограничение длины статуса.

в файле profile.header.php вашего шаблона ставим
Код
<script type="text/javascript">
function ismaxlength(obj){
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}
</script>

строку пониже
Код
<textarea name="statustext" id="statustext" class="status" rows="" cols=""></textarea>
заменяем на
Код
<textarea name="statustext" id="statustext" class="status" rows="" cols="" maxlength="140" onkeyup="return ismaxlength(this);"></textarea>

Все!
Теперь статус не больше 140 символов!
Кол-во можно поставить любое.

На ввод с клавиатуры это работает. Но из буфера обмена все равно можно вставить километровый текст...

Как ограничить и для вставки из буфера?
« Последнее редактирование: 07.03.2010, 09:37:52 от vdr »
Всё есть в тебе. Реализовывайся.
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
И еще один вопрос про длину сообщений.
Как можно заставить принудительно переносить строки tttttttttttttttttttttttttttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesssssssssssssssssssssssssssssssssssssssssssssssssstttttttttttttttttttttttttttttttttttttttttttttt!
Сейчас это все просто идет в одну строку, выходя за края шаблона в никуда...

p.s. Пример был намного длиньше  ^-^ При вставки его форум обрезал  ^-^

Как обрезать?
Всё есть в тебе. Реализовывайся.
*

bigmus

  • Захожу иногда
  • 55
  • 4 / 1
Re: ограничение длины статуса
« Ответ #18 : 07.03.2010, 10:43:45 »
ищем фал profile.header.php
в начале файла вписываем js

<script type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}
</script>

далее ищем примерно строчка 140 и заменяем код на

                 <div class="statustext">
                    <form id="formstatustext" name="status" onsubmit="return false;">
                       <label for="statustext" id="labelstatustext"><?php echo JText::_('CC MY STATUS'); ?></label>
                       <textarea name="statustext" onKeyDown="limitText(this,this.form.count,55);"
onKeyUp="limitText(this,this.form.count,55);"
id="statustext" class="status" onfocus="changeStatus();return false;" onblur="saveStatus();return false;" onkeyup="saveChanges(event);return false;"></textarea>
                       <a class="button" href="javascript:void(0);" id="save-status" style="padding-left:10px; display: none; height: 15px;" onclick="saveStatus();return false;"><?php echo JText::_('Save'); ?></a>
                  </form>
                 </div>


где цифры 55 указывают на кол-во вводимых символов :) вот и все
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Re: ограничение длины статуса
« Ответ #19 : 07.03.2010, 10:47:18 »
ищем фал profile.header.php
в начале файла вписываем js

<script type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}
</script>

далее ищем примерно строчка 140 и заменяем код на

                 <div class="statustext">
                    <form id="formstatustext" name="status" onsubmit="return false;">
                       <label for="statustext" id="labelstatustext"><?php echo JText::_('CC MY STATUS'); ?></label>
                       <textarea name="statustext" onKeyDown="limitText(this,this.form.count,55);"
onKeyUp="limitText(this,this.form.count,55);"
id="statustext" class="status" onfocus="changeStatus();return false;" onblur="saveStatus();return false;" onkeyup="saveChanges(event);return false;"></textarea>
                       <a class="button" href="javascript:void(0);" id="save-status" style="padding-left:10px; display: none; height: 15px;" onclick="saveStatus();return false;"><?php echo JText::_('Save'); ?></a>
                  </form>
                 </div>


где цифры 55 указывают на кол-во вводимых символов :) вот и все

А это ограничивает длину сообщения при вставки из буфера обмена?
Всё есть в тебе. Реализовывайся.
*

bigmus

  • Захожу иногда
  • 55
  • 4 / 1
Re: ограничение длины статуса
« Ответ #20 : 07.03.2010, 11:58:40 »
да обрезает полностью до 55 символов
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Re: ограничение длины статуса
« Ответ #21 : 07.03.2010, 12:40:43 »
да обрезает полностью до 55 символов
Для стандартной темы 1.6.285 прикрутить не смог.
Все искревляется и кнопки сохранить нет...
Пока сделал так http://joomlaforum.ru/index.php/topic,101475.msg579094.html#msg579094
Всё есть в тебе. Реализовывайся.
*

bigmus

  • Захожу иногда
  • 55
  • 4 / 1
Re: ограничение длины статуса
« Ответ #22 : 07.03.2010, 12:48:50 »
в файл добавить js код описанный выше, а в textarea добавить onKeyDown="limitText(this,this.form.count,55);"
onKeyUp="limitText(this,this.form.count,55);" все должно работать у меня на 1.5 все работает
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Re: ограничение длины статуса
« Ответ #23 : 07.03.2010, 13:06:01 »
в файл добавить js код описанный выше, а в textarea добавить onKeyDown="limitText(this,this.form.count,55);"
onKeyUp="limitText(this,this.form.count,55);" все должно работать у меня на 1.5 все работает
Работает. Но из буфера все равно можно вставить мнооого текста.
Всё есть в тебе. Реализовывайся.
*

bigmus

  • Захожу иногда
  • 55
  • 4 / 1
Re: ограничение длины статуса
« Ответ #24 : 07.03.2010, 13:12:19 »
лишний же текс не печатается и обрезается!? у меня все прекрасно работает и даже из буфера все урезает :o проверял и в опера файрфокс и ие
*

ILexus

  • Осваиваюсь на форуме
  • 37
  • 5 / 0
Re: ограничение длины статуса
« Ответ #25 : 07.03.2010, 14:14:57 »
delete
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Я думаю, что самый жесткий способ - это в базе для поля status в таблице #__community_users выставить не text, а varchar с ограничением по символам  ::)

А можно попробовать залезть в libraries/core.php и найти там метод setStatus:
Код: php
/**
 * Sets the status for the current user
**/
function setStatus( $status = '' )
{
if( $this->id != 0 )
{
$this->set( '_status' , $status );
$this->save();
}
}

Ну соответственно колдуем над переменной $status:

Код: php
$limit = 100; // сколько символов оставляем
if (JString::strlen($status) > $limit) {
$limit = JString::strpos($status, " ", $limit);
$status = JString::substr($status, 0, $limit). '...'; //обрезаем до ближайшего пробела после указанного кол-ва символов и добавляем в конце многоточие
}

Ну и итог:

Код: php
function setStatus( $status = '' )
{
if( $this->id != 0 )
{
$limit = 100; // сколько символов оставляем
if (JString::strlen($status) > $limit) {
$limit = JString::strpos($status, " ", $limit);
$status = JString::substr($status, 0, $limit). '...'; //обрезаем до ближайшего пробела после указанного кол-ва символов и добавляем в конце многоточие
}

$this->set( '_status' , $status );
$this->save();
}
}

Вообщем я это не проверял, но по идее должно сработать.
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
c изменением libraries/core.php не работает...

с базой тоже...
« Последнее редактирование: 07.03.2010, 17:12:00 от vdr »
Всё есть в тебе. Реализовывайся.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
c изменением libraries/core.php не работает...

с базой тоже...
Ну ладно я понимаю, что с кодом не срабатывает. Но базой точно должно! Ща у себя буду проверять...

UPDATE:
С базой все прекрасно работает. Вот как я урезал до 20 символов:
Код
ALTER TABLE `jos_community_users` CHANGE `status` `status` VARCHAR( 20 ) NOT NULL 

Если прописываешь статус в более 20 символов, то в input он попадавет весь, но после перезагрузки страницы обрезается до 20.

UPDATE:
Нашел где в коде требуется внести изменения. Не знаю, зачем этот метод нужен в core.php, но реально он исполняется в controllers/status.php. Добавляем после $message = JString::trim($message):

Код: php
$limit = 100; // // сколько символов оставляем
if (JString::strlen($message) > $limit) {
$limit = JString::strpos($message, " ", $limit);
$message = JString::substr($message, 0, $limit). '...'; //обрезаем до ближайшего пробела после указанного кол-ва символов и добавляем в конце многоточие
}
*

ILexus

  • Осваиваюсь на форуме
  • 37
  • 5 / 0
bzzik, работает отлично, спасибо. Проверял в профиле и модуле mod_hellome
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор mehman

Ответов: 1
Просмотров: 4310
Последний ответ 15.05.2015, 18:29:00
от motokraft
Вопрос по ленте активности в профиле

Автор Deni

Ответов: 43
Просмотров: 23622
Последний ответ 28.08.2014, 11:36:51
от sv13
Как убрать вывод последней активности на фронтальной странице?

Автор Andrej-zhe

Ответов: 1
Просмотров: 3946
Последний ответ 07.05.2014, 17:08:52
от Andrej-zhe
502 ошибка при загрузке изображений - решено

Автор Vikitos

Ответов: 2
Просмотров: 4561
Последний ответ 24.12.2013, 00:05:58
от Vikitos
Добавление фото в статус с мобильного телефона

Автор grafdrakula

Ответов: 0
Просмотров: 3775
Последний ответ 19.12.2013, 11:51:58
от grafdrakula