Новости Joomla

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки

/tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля -
default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.
Страница расширенияGitHub#расширения #virtuemart #JoomShopping

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

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
И снова здравствуйте!
Я опять со своими странными задачами  ;D
Короче, в папочке с картинками шаблона лежит файлик sprite.svg
Как бы мне взять, и в конце index.php, до закрытия </body> вставить его содержимое (весь код)?  ::)
Попробовал что типа:
Код: php
$url = $this->baseurl.'/templates/'.$this->template.'/images/sprite.svg';
$svg = file_get_contents("$url");
echo $svg;
Но не работает...
Может кто-то уже делал нечто подобное?
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Код
<img src="<?php echo $this->baseurl.'/templates/'.$this->template.'/images/sprite.svg' ?>" >
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Sgrey, нет, не годится)
Этот код просто вставит картинку, как обычный <img>.
Мне же нужно, чтобы всё содержимое <svg> файла добавилось в шаблон в виде кода.
Откройте любой SVG-файл в редакторе, и увидите что-то на подобие XML-кода. Вот, всё это и надо запихнуть в index.php
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Я в курсе, что такое svg.
Код
$url = 'templates/'.$this->template.'/images/sprite.svg';
$svg = file_get_contents($url);
echo $svg;
или просто вставьте его код в файл руками.
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Sgrey, благодарю! Получилось. Так и не понял, почему не срабатывало. Без кавычек $url я тоже пробовал...
А руками вставлять бессмысленно. Файл периодически обновляется новыми элементами спрайта, и хотелось именно автоматизации!

Теперь возник вопрос, по изменению встраиваемого кода.
Т.е. необходимо взять из него только отдельные <svg> объекты, а не весь код с заголовком.
Может знаете как это сделать?  ::)
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Не работало из-за неправильного пути к файлу. Смотря как часто обновляется и какого он размера, может проще вставлять руками.
Не совсем понял, чего вы хотите в итоге добиться, объясните задачу подробней.
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Рассказываю.
Например, вот код SVG, который я сейчас вставляю:

Код: xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <style>   
        :root svg {display: none;}
        :root svg:target {display: block;}
    </style>
    <svg id="logo">...</svg>
    <svg id="location">...</svg>
    <svg id="phone">...</svg>
    <svg id="email">...</svg>
</svg>

Мне же нужно взять только:

Код
    <svg id="logo">...</svg>
    <svg id="location">...</svg>
    <svg id="phone">...</svg>
    <svg id="email">...</svg>

Ну, как-то так.
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Остался неясным вопрос, зачем все это нужно? Почему просто не использовать несколько отдельных файлов? 
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Sgrey, ну как же. Затем, зачем вообще существуют спрайты — меньшее количество запросов к серверу. Для небольшого сайта — не критично, для крупного и популярного — необходимость.
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Кто то из нас что то явно не понимает ::) Я знаю CSS спрайты, но какое они имеют отношение, к тому что вы хотите сделать?

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

Если вам все равно это надо, то это можно сделать используя XML или регуляркой. Однако хотелось бы все-таки понять вашу идею.
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Sgrey, вы знаете, я не хотел бы тут флуд в пустую разводить, мол «что, зачем и почему».
Есть задача, пытаюсь найти решение, т.к., как правило, это потом помогает не только мне одному.

Есть вероятность, что вы поняли меня некорректно. Речь идёт не о CSS-спрайтах (что это, я не знаю, увы) ^-^
Речь идёт об SVG-спрайте (графическом). Это файл, который содержит в себе целый набор графических элементов <svg>, обращение к которым происходит с помощью ID.
Т.е. в коде мы указываем что-то на подобие <img src="/sprite.svg#logo">, где 'logo' это ID определённого элемента в спрайте.

Например, на странице используется два десятка изображений, отображение которых реализовано не фоном, а объектами <img> или <svg>.
Я не хочу делать двадцать запросов к серверу, и для этого использую спрайт. Для корректной работы спрайта, мне необходимо включить его код в тело страницы. С чем вы мне, собственно, и помогли.

Дальше я решил (по определённым причинам, не относящимся к данному вопросу), задачу немного усложнить, и выбрать из включаемого файла лишь необходимое содержимое, без хидера и прочего «мусора» так сказать.

Вот вы написали про регулярные выражения. Возможно они помогли бы.
Я могу лишь на пальцах объяснить: надо найти все вложенные объекты, начинающиеся с <svg> и заканчивающиеся </svg>.
Ну как-то так. Какие ещё подробности нужны, я не знаю)
« Последнее редактирование: 02.03.2020, 16:42:30 от goga_pgasovav »
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Так и я не ради флуда спрашиваю. Форум это двухсторонний процесс общения и обогащения знаниями. Мне эта идея незнакома, поэтому либо я чего-то не знаю, либо вы заблуждаетесь. Зачастую мы все придумываем что-то, а потом выясняется, что это все делается по другому и проще. Пытаюсь разобраться, не более того. А отвечать не понимая зачем и для чего, мне не интересно.

Из вашего объяснение все равно не совсем понятно, как это работает, но искать в интернете мне сейчас некогда.
Что касается регулярки, то я в них не силен и наверно ей в данном случае будет не просто.
Я бы лучше смотрел в сторону simplexml, но готового рецепта у меня нет, надо пробовать.
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Например, вот код SVG, который я сейчас вставляю:
Мне же нужно взять только:
<svg><use ...
Веб-разработка: заказ. Только новая разработка.
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Посмотрел в интернете, оказывается я сильно отстал от жизни. ::) SVG-спрайт это не то, что я думал. Теперь идея вставлять SVG-спрайт в тело страницы обрела смысл. А вы говорите, мол для чего «что, зачем и почему». Чтобы узнать что то новое, хотя мне это не требуется сейчас, но может пригодиться в будущем.
Правда для чего вы хотите вырезать часть файла с помощью php все равно не понял, это делается через use, view ... Может чего-то не понял до конца, смотрел бегло.
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Sgrey, ну раз уж вас заинтересовал данный подход к использованию графики, тогда объясню, зачем вырезать  ;)
В SVG-файле используется CSS-стиль:

Код: css
    <style>   
        :root svg {display: none;}
        :root svg:target {display: block;}
    </style>

Он необходим для скрытия всех объектов SVG, кроме того, который будет использоваться.
Это в том случае, когда я использую объекты спрайта в виде background (фонов), и беру их из внешнего файла.
А если мне необходимо эти же объекты использоваться как изображение в коде, то нужно встроить файл.
И вот этот стиль уже является паразитным, т.к. в такой ситуации объекты спрайта перестают отображаться и <style> нужно удалить. Как, впрочем, и <!doctype>, который уже не нужен в случае со встраиванием <svg> в тело документа. Ну это уже дургой вопрос...
В общем, если вам будет нужно это где-то использовать, напишите мне в личку, я объясню подробнее, ибо топик создавался с совершенно иной целью.

Попробую найти решение, и если найду, то отпишусь тут.
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
https://www.php.net/manual/ru/function.preg-replace.php и убрать лишние теги по маске типо
Код
<style>.*</style>
Имхо, свг более избыточно, чем обычные картинки.
А если юзать какой simple XML ,  то неплохо получится просадка по оперативке.
*

Sgrey

  • Захожу иногда
  • 75
  • 4 / 1
Вот честное слово, вы бы уже давно дали ссылку на сайт где это реализовано или статью с описанием, в конце концов привели бы пример спрайта и результат который должен получиться на странице. Потому что ваши объяснения на пальцах все равно до конца не понятны. А так у меня стойкое ощущение, что вы все усложняете.

Вот набросал пример, не знаю так вам надо или нет.
Код
$xml = new SimpleXMLElement(file_get_contents('sprite.svg'));
foreach($xml->svg as $a) {
    $b .= $a->saveXML();
}
echo $b;
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 814
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 817
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Убрать index.php в url

Автор d0ublezer0

Ответов: 6
Просмотров: 862
Последний ответ 09.08.2022, 09:33:30
от sivers
Вывести переменную шаблона в материал

Автор Little Muk

Ответов: 8
Просмотров: 2440
Последний ответ 08.05.2022, 15:02:46
от Black-kot
Правка шаблона для PDF

Автор newgot

Ответов: 0
Просмотров: 446
Последний ответ 12.01.2022, 23:00:01
от newgot