Новости 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 Гость просматривают эту тему.
  • 19 Ответов
  • 2107 Просмотров
*

SuschnosT

  • Захожу иногда
  • 119
  • 1 / 2
Народ помогите пожалуйста.

Есть код:

Код
<li<?php echo strlen($item->custom_tags)? ' class="'.$item->custom_tags.'"' : ''; ?> data-sp11-item>
<div class="sp-item" data-sp11-content>
<?php echo $item->custom_ordering_items; ?>
<div class="sp1-padding">
<?php if ($item->getPrimaryImage()) :?>
<div class="sp-image-container">
<?php if ($item->getPrimaryLink()) : ?><a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>"><?php endif; ?>
<img src="<?php echo $item->getPrimaryImage()->getSource(); ?>" alt="<?php echo $item->getPrimaryImage()->getAlttext(); ?>" class="sp-image" />
<?php if ($item->getPrimaryLink()) : ?>
<span class="sp-hover"></span>
<span class="sp-hovercontent"><span>+</span><?php rc_e('READ_MORE'); ?></span>
</a>
<?php endif; ?>
</div>
<?php endif; ?>

<div class="sp-head">
<?php if ($item->getTitle()): ?>
<h2 class="sp-title">
<?php if ($item->getPrimaryLink()): ?><a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>"><?php endif; ?>
<?php echo $item->getTitle();?>
<?php if ($item->getPrimaryLink()): ?></a><?php endif; ?>
</h2>
<?php endif; ?>

<?php if ($parameters->get('sp11_article_details')): ?>
<div class="sp-infos">
<?php if (($parameters->get('sp11_article_details')=='1') or ($parameters->get('sp11_article_details') == 'author')): ?>
By <span class="author"><?php echo $item->getAuthor(); ?></span>
<?php endif; ?>
<?php if ($parameters->get('sp11_article_details')=="1"): ?> / <?php endif; ?>
<?php if (($parameters->get('sp11_article_details')=="1") or ($parameters->get('sp11_article_details') == 'date')): ?>
<span class="date"><?php echo $item->getDate();?></span>
<?php endif; ?>
</div>
<?php endif; ?>
</div>

<div class="sp-text">
<?php echo $item->getText(); ?>
</div>

<?php if ($item->getPrimaryLink()) : ?>
<a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="sp1-readmore"><span><?php rc_e('Подробнее...'); ?></span></a>
<?php endif; ?>

<?php if (count($item->custom_tags_list)) : ?>
<ul class="sp-tags">
<?php
foreach($item->custom_tags_list as $key => $name){
echo ' <li class="sp1-tags-'.$key.'">'.$name.'</li>';
}
?>
</ul>
<?php endif; ?>
</div>
</div>
</li>

Как я понял за вывод материала отвечает эта часть:

Код
<div class="sp-text">
<?php echo $item->getText(); ?>
</div>

Подскажите пожалуйста как мне ограничить число выводимых символов - не строк а именно символов.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Есть же класс в ждумле специальный

Код: php
JString::substr($item->getText(), 0, 80);
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Есть же класс в ждумле специальный

Код: php
JString::substr($item->getText(), 0, 80);

Я решил более расширенный показать: с обрезанием, убиранием тегов, учитыванием знаков воскл и т.д. и свой символ в конце ограничения.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Ну тогда для полноты «расширения» следует резать с учётом окончаний слов.

Код: php
function maxsite_str_word($text, $counttext = 10, $sep = ' ') {
    $words = split($sep, $text);
    if ( count($words) > $counttext )
        $text = join($sep, array_slice($words, 0, $counttext));
    return $text;
}
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Там же есть в примере тоже "окончание слов":
"находим последний пробел, устраняем его и ставим троеточие"

Код: php
$string = substr($string, 0, strrpos($string, ' '));
echo $string."… ";
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Да, только сперва: «Теперь обрежем его на определённое количество символов:»

Код: php
$string = substr($string, 0, 200);

Нафиг мне троеточие в конце, если предложение на полуслове оборвё… ^-^
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Так вот именно, а тут не обрывается, смотрит, например 200 символов, ищет пробел в большую сторону, чтоб слово не обрезалось, убирает и ставит свой символ (текст).
Я бы поставил ">>>"
Или можно написать "Читать далее ..."

Код: php
$string = strip_tags($string);
$string = substr($string, 0, 200);
$string = rtrim($string, "!,.-");
$string = substr($string, 0, strrpos($string, ' '));
echo $string." Читать далее ... ";
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Ты имеешь в виду, что он последним шагом удаляет «обрубок»?

Код: php
$string = substr($string, 0, strrpos($string, ' '));
echo $string."… ";
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Пробел удаляет после полного слова, заменяя своим текстом, т.е. и соответственно и обрубка не будет ...
Найдёт => 200: "оборвё…" , далее пробел найдёт, заменит на своё.
Или не так?
« Последнее редактирование: 03.10.2016, 08:06:37 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Не совсем так, но работать должно верно. Здесь strrpos не заменяет пробел, а ищет позицию последнего символа-пробела. Затем ещё раз обрезаем текст.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
echo JHtml::_('string.truncate', $text, 200, true, false);
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
echo JHtml::_('string.truncate', $text, 200, true, false);

Точно. Забыл про него :(
*

SuschnosT

  • Захожу иногда
  • 119
  • 1 / 2
Спасибо ребят вы просто лучшие
*

autokaif

  • Захожу иногда
  • 81
  • 0 / 0
Ну тогда для полноты «расширения» следует резать с учётом окончаний слов.

Код: php
function maxsite_str_word($text, $counttext = 10, $sep = ' ') {
    $words = split($sep, $text);
    if ( count($words) > $counttext )
        $text = join($sep, array_slice($words, 0, $counttext));
    return $text;
}
Доброго времени суток. Выручите пожалуйста, не получается ограничить текст до знака -
В файле \plugins\content\pagenavigation\tmpl\default.php
Не получается использовать Ваш пример с записью, которая выводит ссылку текстом на след и предыдущий материал
Заранее Благодарю

<ul class="pager pagenav">
<?php if ($row->prev) :
   $direction = $lang->isRtl()? 'right' : 'left'; ?>
   <li class="previous">
      <a class="hasTooltip" title="<?php echo htmlspecialchars($rows[$location-1]->title); ?>" aria-label="<?php echo JText::sprintf('JPREVIOUS_TITLE', htmlspecialchars($rows[$location-1]->title)); ?>" href="<?php echo $row->prev; ?>" rel="prev">
         <?php echo '<span class="icon-chevron-' . $direction . '" aria-hidden="true"></span> <span aria-hidden="true">' . $row->prev_label . '</span>'; ?>
         <?php echo htmlspecialchars($rows[$location-1]->title); ?>
      </a>
   </li>
<?php endif; ?>
<?php if ($row->next) :
   $direction = $lang->isRtl()? 'left' : 'right'; ?>
   <li class="next">
      <a class="hasTooltip" title="<?php echo htmlspecialchars($rows[$location+1]->title); ?>" aria-label="<?php echo JText::sprintf('JNEXT_TITLE', htmlspecialchars($rows[$location+1]->title)); ?>" href="<?php echo $row->next; ?>" rel="next">
         <?php echo htmlspecialchars($rows[$location+1]->title); ?><?php echo '<span aria-hidden="true">' . $row->next_label . '</span> <span class="icon-chevron-' . $direction . '" aria-hidden="true"></span>'; ?>
      </a>
   </li>
<?php endif; ?>
</ul>
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
обращу ваше внимание, обрезка php  в любом виде зарежит отдоваемые данные, Но! CSS обрезка, поможет в юзабилите в мобильых версиях!
*

autokaif

  • Захожу иногда
  • 81
  • 0 / 0
обращу ваше внимание, обрезка php  в любом виде зарежит отдоваемые данные, Но! CSS обрезка, поможет в юзабилите в мобильых версиях!

Спасибо. Тоже пища для размышлений. Теперь у меня файл \plugins\content\pagenavigation\tmpl\default.php стандартный.
Ни кто не подскажет, как обрезать название на одном из двух языков (начало материала на главном дефис (-) на русском)
Буду очень признателен
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
а вы сами понимаете, что делает  \plugins\content\pagenavigation\tmpl\default.php ?
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
зарежит отдоваемые данные
Неправильно выразился!
*

Akeksandr

  • Захожу иногда
  • 394
  • 10 / 0
Есть же класс в ждумле специальный
Код: php
JString::substr($item->getText(), 0, 80);
Не осилил как его применить для своего случая. Подскажите пожалуйста.
Модуль выводит блок с товарами. Если название длинное, оно переходит на новую строчку и блок с этим товаром получается ниже остальных. Как-то некомильфо.
Хотелось бы обрезать название товара по количеству символов, чтобы уместилось на одной строке.
Код
<div class="item-title">
   <a href="<?php echo $curr->link?>" <?php echo SjProducts::parseTarget($options->target);?>><?php echo $curr->name?></a>
</div>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ограничить описание определенным кол-ом символов

Автор DamaVbubi

Ответов: 5
Просмотров: 727
Последний ответ 13.02.2024, 20:44:36
от sivers
Снять ограничение на кол-во символов в модуле html

Автор lgmax

Ответов: 1
Просмотров: 526
Последний ответ 05.01.2022, 12:19:53
от draff
Как ограничить область поиска материалов?

Автор zahar_92

Ответов: 7
Просмотров: 682
Последний ответ 24.01.2021, 21:47:53
от sivers
Ограничение количества символов вводного текста

Автор Chigolberi

Ответов: 2
Просмотров: 1107
Последний ответ 18.06.2020, 08:40:52
от Chigolberi
Ограничение кол-во символов в заголовке

Автор lgmax

Ответов: 1
Просмотров: 579
Последний ответ 15.05.2020, 09:56:13
от Akeksandr