Новости Joomla

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления...

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления...

Nevigen Audit JoomShopping 5+Расширение представляет собой большой дашборд для управления JoomShopping и работы с его данными. Расширение может:Товары:- отображение списка товаров в удобном информативном виде,- дополненные возможности фильтрации товаров в списке,- возможность быстрого удобного просмотра базовой статистики по товарам.- расширенные возможности поиска по товарам,- возможности анализа базовой подготовки SEO параметров товаров, с возможностью перехода к отфильтрованным товарам с "проблемами"- анализ базовой SEO подготовки товаров проводится по всем установленным для магазина языкам- редактирование товара (в апдейтах)Заказы:- отображать заказы в удобном виде,- обеспечивает широкие дополненные возможности фильтрации,- предоставляет расширенные возможности поиска по полям заказов,- возможность быстрого удобного просмотра базовой статистики по заказам.- планируются дополнительные возможности статистики и анализа продаж. (отдельными расширениями)Клиенты:- отображать список клиентов в удобном виде,- предоставляет расширенные возможности поиска по полям клиентов,- возможность быстрого удобного просмотра базовой статистики по клиентам.- исключена возможность блокировки собственной учетной записи, чтобы не утратить контроль для доступа в админпанель,- добавлено поле заметок для клиента (интегрированы заметки пользователя Joomla), что дает дополнительные возможности для работы разных менеджеров с клиентом.- планируются дополнительные возможности работы с клиентами (отдельными расширениями)Системные требования: JoomShopping 5.5+, PHP 8.1+Вопросы по расширению к участнику нашего сообщества @IhorNVGСтраница расширения#JoomShopping #расширения

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм...

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм...

Собственные макеты вывода для пользовательских полей JoomlaМы привыкли использовать механизм переопределения макетов Joomla: скопируй нужный тебе файл макета в папку html шаблона и твори там что хочешь. Это в полной мере относится и к пользовательским полям Joomla.Joomla ищет макеты рендера всех пользовательских полей в следующем порядке:- Есть ли файл templates/[template name]/html/layouts/[component name]/fields/render.php , переопределяющий макет вывода полей для конкретного компонента? Да - используем его.- Нет? Есть ли файл components/[component name]/layouts/fields/render.php в папке компонента? Да - используем его.- Нет? Есть ли файл templates/[template name]/html/layouts/com_fields/fields/render.php, переопределяющий вывод полей для com_fields? Да - используем его.- Нет? Используем файл components/com_fields/layouts/fields/render.phpЭто механизм поиска переопределений файлов макетов. Вчера столкнулся с тем, что если поле вставлено в текст материала с помощью шорт-кода (кнопкой редактора) вида {field 25}, то переопределения не сработали. Поэтому стал вспоминать как сделать свой макет для поля Joomla. Файл components/com_fields/layouts/field/render.php копируем в templates/YOUR_TEMPLATE/html/layouts/com_fields/field/etapy-raboty-nad-proektom.php. Обратите внимание, что мы файл переименовали, чтобы в настройках поля видеть его в выпадающем списке. После этого всё заработало как надо. Благо, переводил уже раньше статью Как происходит рендер пользовательских полей в Joomla?. Потом, порывшись по своему же переводу увидел, что эта особенность работы Joomla в статье уже в ней описана 😂. А также напомнил себе о возможности указывать макет поля прямо в шорт-коде, через запятую: {field 25,etapy-raboty-nad-proektom}. Правда, если честно, никогда этой возможностью не пользовался. @webtolkru#joomla #php #разработка #webdev

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

krazyyolka

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Здравствуйте. Возник вопрос при работе с версиями Joomla 1.6 и 1.7

Каким образом возможно автоматически ограничить количество символов вводного текста без использования K2?

Заранее, спасибо.
*

elscept

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Присоединяюсь к вопросу.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
В настройках Менеджера материалов -> Первая закладка (Материалы) -> Ограничение для Подробнее
*

elscept

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
bzzik, насколько я понял, это несколько другое. Предложенный Вами вариант подразумевает ограничение по тексту заголовка материала при его добавлении к кнопке "подробнее".
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
А, блин сорри! Чего-то затупил. Текст вводного текста ограничивается тегом Подробнее в статье:
Код
<hr id="system-readmore" />

Насколько мне известно в Joomla нет возможности ставить его автоматом.
*

elscept

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
Каким образом возможно автоматически ограничить количество символов вводного текста без использования K2?
А что нужно ограничить и где? Вводимого или выводимого?
Есть функция substr, правда при обрезании квадратик непонятный вконце
Например, если не ставить подробнее в материале, а в блоге категории заменить
Цитировать
<?php echo JFilterOutput::ampReplace($this->item->text);  ?>
На
Цитировать
<?php echo JFilterOutput::ampReplace(substr($this->item->text, 0, 75)); ?>
То будет обрезать примерно на 25 символов  (75/3)
P.S. Понял, как квадратик убрать. Нужно substr заменить на mb_substr
« Последнее редактирование: 09.03.2012, 19:34:09 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

zeher

  • Захожу иногда
  • 169
  • 12 / 0
можно пожалуйста по подробней где это заменить
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Efanych, эт ты по символам, по словам оптимальнее.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Efanych, эт ты по символам, по словам оптимальнее.
Не. Оптимальнее по символам, по словам может очень сильно разниться обьём текста. Нашёл ещё оптимальнее - обрезать по символам, не обрезав последнее слово.
Код: php
<?php 
$text = strip_tags($this->item->text);
if (!function_exists('truncate_words')) {
function truncate_words($text, $limit=99)
{
$text=mb_substr($text,0,$limit);
/*если не пустая обрезаем до  последнего  пробела*/
if(mb_substr($text,mb_strlen($text)-1,1) && mb_strlen($text)==$limit)
{
$textret=mb_substr($text,0,mb_strlen($text)-mb_strlen(strrchr($text,' ')));
if(!empty($textret))
{
return $textret;
}
}
return $text;
}}
echo truncate_words($text)."..."; ?>
« Последнее редактирование: 14.03.2013, 21:27:06 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Ага. Траблу нашёл. При таком обрезании возникает незакрытый тег. Если это <p>, то некритично, а при <div> может и вёрстка посыпаться.
Исправил предыдущий пост. Теперь сначала текст очищается от всех тегов.
« Последнее редактирование: 21.06.2012, 10:41:44 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

Ravilka

  • Осваиваюсь на форуме
  • 33
  • 5 / 1
Не. Оптимальнее по символам, по словам может очень сильно разниться обьём текста. Нашёл ещё оптимальнее - обрезать по символам, не обрезав последнее слово.
Код: php
<?php 
$text = $this->item->introtext;
function truncate_words($text, $limit=200)
{
$text_substr=mb_substr($text,0,$limit);
/*если не пустая обрезаем до  последнего  пробела*/
if(mb_substr($text,mb_strlen($text)-1,1) && mb_strlen($text)==$limit)
{
$textret=mb_substr($text,0,mb_strlen($text)-mb_strlen(strrchr($text,' ')));
if(!empty($textret))
{
return $textret;
}
}
return $text_substr;
}
echo truncate_words($text)."..."; ?>

Подскажите, может кто в курсе, как это применить для краткого описания переменная $product_s_desc, она как-раз только текстовая varchar

Ставлю вот так

Спойлер
[свернуть]
а у меня весь вид странице теряется
« Последнее редактирование: 15.05.2012, 15:49:08 от Ravilka »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Сохраните файл в кодировке utf-8 без boom
Создание сайтов, шаблонов, помощь в решении проблем.
*

wert9

  • Новичок
  • 5
  • 0 / 0
Подскажите пожалуйста а как такое же провернуть на Joomla 2.5, для страницы категорий и модуля новостей. На Joomla 1.5 получалось, но она по другим параметрам мне не подошла >:(, пришлось брать 2.5 версию, а тут никак решения для автоматического обрезания текста отображаемого в блоке категорий материала и новостей ( mod_articles_news) никак не найду, а пользователи категорически отказываются сами разделитель ставить и заливают многостраничные документы >:(
*

wert9

  • Новичок
  • 5
  • 0 / 0
С "Блоком категорий" я разобрался, как там сделать автообрезание метериала, а вот с mod_articles_news никак не разобраться, как автоматом отрезать !
*

cantsave

  • Захожу иногда
  • 215
  • 2 / 0
С "Блоком категорий" я разобрался, как там сделать автообрезание метериала, а вот с mod_articles_news никак не разобраться, как автоматом отрезать !

Покажи пожалуйста как сделал на 2.5 Блога категорий.
*

wert9

  • Новичок
  • 5
  • 0 / 0
Покажи пожалуйста как сделал на 2.5 Блога категорий.
Нашол тут на сайте решение, но сейчас что-то не найти. У себя грохнул эту модификацию, т.к. в конечном итоге не понравилось , что оно без кнопоря "читать далее ...", было тупо обрезание по 200 символов и 3 точки в конце.
*

ycsus

  • Новичок
  • 2
  • 0 / 0
Код
 echo JHtml::_('string.truncate', ($item->title), '100');
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Код: php
<?php 
$text = strip_tags($this->item->text);
if (!function_exists('truncate_words')) {
function truncate_words($text, $limit=99)
{
$text=mb_substr($text,0,$limit);
/*если не пустая обрезаем до  последнего  пробела*/
if(mb_substr($text,mb_strlen($text)-1,1) && mb_strlen($text)==$limit)
{
$textret=mb_substr($text,0,mb_strlen($text)-mb_strlen(strrchr($text,' ')));
if(!empty($textret))
{
return $textret;
}
}
return $text;
}}
echo truncate_words($text)."..."; ?>


люди добрые, объясните мне идиоту, как в этот код запихнуть строку $product->name?  ?
куда ее вставлять? в PHP полный ноль, все что пробовал делать приводило к ошибке загрузки страницы, ошибки синтаксиса и т.п.

Заранее спасибо!
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
Пример $item->content = JString::substr($item->content, 0, $params->get('introtext_limit')); Чтобы ребята квадратиков не было пользуйтесь JString)))
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Прошу прощения, я снова не понял... Т.е. в моем случае целиком код будет выглядеть так:

<?php
$item->content = JString::substr($product->name, 0, $params->get('introtext_limit'));
?>

?
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
Я привел пример) для тех людей у кого проблемы с ограничение в php русских слов.

А вам надо просто, найти компонент или модуль , я не знаю что у вас выводит данный текст и просто добавить данную функцию в тело))  Дайте ссылку на компонент которым вы пользуетесь
« Последнее редактирование: 10.12.2013, 13:02:39 от OmniWizard »
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
это JoomShopping обычный. $product->name - это название продукта.
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
Ладно )) тогда слушай....
Создаешь папку в M:\home\test1.ru\www\libraries
назови ее libword в ней создай файл word.php в него закинь код

<?php
class word_str{
function str_word($text, $counttext = 10) {
    $sep = ' ';
    $words = explode($sep, $text);
    if ( count($words) > $counttext )
        $text = join($sep, array_slice($words, 0, $counttext));
    return $text;
}
}

далее зайди в папку своего компонента и найди вид который отвечает за это у меня это тут \www\components\com_jshopping\templates\default\list_products файл product.php
его как раз и меняем.
В шапку дописываем путь до нашей функции
<?php defined('_JEXEC') or die();
 jimport('libword.word')
?>

находим наше название
<div class="name">
            <a href="<?php print $product->product_link?>"><?php print $product->name?></a>
            <?php if ($this->config->product_list_show_product_code){?><span class="jshop_code_prod">(<?php print _JSHOP_EAN?>: <span><?php print $product->product_ean;?></span>)</span><?php }?>
        </div>
и меняем на
<div class="name">
            <a href="<?php print $product->product_link?>"><?php print word_str::str_word( $product->name,2)?></a>
            <?php if ($this->config->product_list_show_product_code){?><span class="jshop_code_prod">(<?php print _JSHOP_EAN?>: <span><?php print $product->product_ean;?></span>)</span><?php }?>
        </div>
так, описание word_str::str_word( $product->name,2) - так как это штука режет по словам, значение 2- значит он выводит 2 слова только.
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
ого! Спасибо большое! Буду разбираться.

Правда, думаю, по символам было бы интересней.

Кстати, это же все слетит при обновлении?
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
jimport('libword.word')  - это твоя функция .. не куда она уже не денется, то есть в шапку любого выводимого файла вставляешь и любое имя word_str::str_word( $product->name,2), хоть это новости, хоть что угодно. А вот, обновиться может файл самого продукта. Ну я думаю, если FireBug есть и Total Командер)) то всегда можешь в поиске по тексту найти файл с отображением)))


если тебе нужен твой пример-> то просто открой файл word.php и добавь свой пример

function truncate_words($text, $limit=99)
{
   $text=mb_substr($text,0,$limit);
   if(mb_substr($text,mb_strlen($text)-1,1) && mb_strlen($text)==$limit)
   {
      $textret=mb_substr($text,0,mb_strlen($text)-mb_strlen(strrchr($text,' ')));
      if(!empty($textret))
      {
         return $textret;
      }
   }
   return $text;
}


только в тексте шаблона надо будет вместе word_str::str_word( $product->name,2) вставить word_str::truncate_words( $product->name,100) второй показатель тут уже не количество слов, а количество символов
« Последнее редактирование: 10.12.2013, 14:31:43 от OmniWizard »
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
благодарю! буду пробовать.
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
все работает! огромное спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отступ текста от изображения

Автор lexus26

Ответов: 6
Просмотров: 1070
Последний ответ 27.01.2019, 21:32:17
от lexus26
Вывод количества комментариев jcomment

Автор Vlasnov

Ответов: 1
Просмотров: 1242
Последний ответ 19.06.2018, 09:53:58
от kern.USR
не сохраняется материал с большим количеством символов

Автор diman_bush

Ответов: 5
Просмотров: 1133
Последний ответ 31.08.2017, 05:49:13
от diman_bush
Фильтрации текста (Нужна реанимация)

Автор vetalb91

Ответов: 0
Просмотров: 1106
Последний ответ 17.08.2017, 17:56:42
от vetalb91
Автоматическое уменьшение размера изображений для статей

Автор rean1mator

Ответов: 5
Просмотров: 5503
Последний ответ 21.05.2017, 16:27:32
от valcoray