Новости Joomla

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

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Например, вот так выглядит RSS-лента созданная из категории:
/index.php?option=com_content&view=category&id=7&format=feed&type=rss

Но в ленте показывается только краткое описание материала, а хотелось, чтобы в ленте сразу весь текст материала/новости вставлялся. Это ленту я подвяжу потом в группу ВК, появился недавно у них такой функционал и там автоматом будут публиковать статьи с сайта.
« Последнее редактирование: 09.10.2018, 13:51:27 от dm-krv »
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Но в ленте показывается только краткое описание материала, а хотелось, чтобы в ленте сразу весь текст материала/новости вставлялся. Это ленту я подвяжу потом в группу ВК, появился недавно у них такой функционал и там автоматом будут публиковать статьи с сайта.
Он ни как не может ограничивать длину текста, у меня выводится полный текст материала...
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Он ни как не может ограничивать длину текста, у меня выводится полный текст материала...
Зависит есть ли разделение на вводный текст в материале.
ТС, можно попробовать модифицировать мою ленту для турбо страниц Яндекса
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Зависит есть ли разделение на вводный текст в материале.
ТС, можно попробовать модифицировать мою ленту для турбо страниц Яндекса

Увы, вконтакте можно в группу автопубликацию новостей с RSS канала сделать, но никак не турбо. Здесь они, увы, не помогут. Мне просто надо найти, где макет формируется и тупо подправить вывод.
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Мне просто надо найти, где макет формируется и тупо подправить вывод.
Файл: RssRenderer.php (libraries/src/Document/Renderer/Feed)
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Файл: RssRenderer.php (libraries/src/Document/Renderer/Feed)

Спасибо, вижу что внутри за вывод описания отвечает кусок кода:
Код
<description><![CDATA[" . $this->_relToAbs($data->items[$i]->description) . "]]></description>

Не подскажите, как здесь выводить полный текст материала, вместо краткого?
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Не подскажите, как здесь выводить полный текст материала, вместо краткого?
У меня выводится полное описание материала!
Глянь что выбрано в параметре Для каждого объекта ленты показывать в настройках менеджера материалов (вкладка Интеграция).
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Хорошо, сейчас посмотрю.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
У меня выводится полное описание материала!
Глянь что выбрано в параметре Для каждого объекта ленты показывать в настройках менеджера материалов (вкладка Интеграция).

Поменял указанную настройку и все заработало!) Показывает полный текст. Спасибо огромное. Получается просто в настройках дело. Лови плюс.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
И все таки мне пришлось модифицировать RssRenderer.php - убрал CDATA и добавил строчку, которая вырезает теги в описании (иначе API ВКонтакте режет переносы строк).

Подскажите, если не сложно, как сделать так, чтобы при обновлении движка изменения в RssRenderer.php не затерлись? Можно ли этот файл как-нибудь из каталога шаблона использовать? И если да, то куда конкретно мне перенести RssRenderer.php?

Использую шаблон YooTheme.
« Последнее редактирование: 13.10.2018, 12:34:39 от dm-krv »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
находил какой-то дикий плагин, который перехватывает загрузку системных файлов и подсовывает им свой.
и этот самый рендер RSS он скушал вполне себе. но все же это дикий изврат.
так что я решил, что правильней будет запилить модуль с разными шаблонами для каждой ленты.
сделал тестовую болванку, а дальше напала лень, но идея вполне рабочая.
но если уж юзаешь файл, то можно тупо на крон повесить перезапись одного файла другим, наверно. просто рядом положи с орининалом и раз в день переписывай.
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
И все таки мне пришлось модифицировать RssRenderer.php - убрал CDATA и добавил строчку, которая вырезает теги в описании (иначе API ВКонтакте режет переносы строк).

Подскажите, если не сложно, как сделать так, чтобы при обновлении движка изменения в RssRenderer.php не затерлись? Можно ли этот файл как-нибудь из каталога шаблона использовать? И если да, то куда конкретно мне перенести RssRenderer.php?

Использую шаблон YooTheme.
Лучше этот файл не трогать. Он не переопределяется!
Лучше использовать плагин. На много лучше чем этот файл, т. К. Можешь указать какой именно файл на выходе должен получиться.
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Проблемно, боюсь я в плагин его никак не засуну - недостаточно навыков. Придется, видимо, вручную все обновлять, каждый раз.
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Поэтому я и использую самописный скрипт по крону и не парюсь с обновлением.
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Проблемно, боюсь я в плагин его никак не засуну - недостаточно навыков. Придется, видимо, вручную все обновлять, каждый раз.
Покажи пример файла который должен получиться!
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Покажи пример файла который должен получиться!

Код
<?php
/**
 * Joomla! Content Management System
 *
 * [member=126442]copyright[/member]  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\CMS\Document\Renderer\Feed;

defined('JPATH_PLATFORM') or die;

use Joomla\CMS\Document\DocumentRenderer;
use Joomla\CMS\Uri\Uri;

/**
 * RssRenderer is a feed that implements RSS 2.0 Specification
 *
 * @link   http://www.rssboard.org/rss-specification
 * @since  3.5
 *
 * @property-read  \Joomla\CMS\Document\FeedDocument  $_doc  Reference to the Document object that instantiated the renderer
 */
class RssRenderer extends DocumentRenderer
{
/**
* Renderer mime type
*
* @var    string
* @since  3.5
*/
protected $_mime = 'application/rss+xml';

/**
* Render the feed.
*
* @param   string  $name     The name of the element to render
* @param   array   $params   Array of values
* @param   string  $content  Override the output of the renderer
*
* @return  string  The output of the script
*
* @see     DocumentRenderer::render()
* @since   3.5
*/
public function render($name = '', $params = null, $content = null)
{
$app = \JFactory::getApplication();

// Gets and sets timezone offset from site configuration
$tz  = new \DateTimeZone($app->get('offset'));
$now = \JFactory::getDate();
$now->setTimeZone($tz);

$data = $this->_doc;

$url = Uri::getInstance()->toString(array('scheme', 'user', 'pass', 'host', 'port'));
$syndicationURL = \JRoute::_('&format=feed&type=rss');

$title = $data->getTitle();

if ($app->get('sitename_pagetitles', 0) == 1)
{
$title = \JText::sprintf('JPAGETITLE', $app->get('sitename'), $data->getTitle());
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = \JText::sprintf('JPAGETITLE', $data->getTitle(), $app->get('sitename'));
}

$feed_title = htmlspecialchars($title, ENT_COMPAT, 'UTF-8');

$datalink = $data->getLink();

if (preg_match('/[\x80-\xFF]/', $datalink))
{
$datalink = implode('/', array_map('rawurlencode', explode('/', $datalink)));
}

$feed = "<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\n";
$feed .= " <channel>\n";
$feed .= " <title>" . $feed_title . "</title>\n";
$feed .= " <description><![CDATA[" . $data->getDescription() . "]]></description>\n";
$feed .= " <link>" . str_replace(' ', '%20', $url . $datalink) . "</link>\n";
$feed .= " <lastBuildDate>" . htmlspecialchars($now->toRFC822(true), ENT_COMPAT, 'UTF-8') . "</lastBuildDate>\n";
$feed .= " <generator>" . $data->getGenerator() . "</generator>\n";
$feed .= " <atom:link rel=\"self\" type=\"application/rss+xml\" href=\"" . str_replace(' ', '%20', $url . $syndicationURL) . "\"/>\n";

if ($data->image != null)
{
$feed .= " <image>\n";
$feed .= " <url>" . $data->image->url . "</url>\n";
$feed .= " <title>" . htmlspecialchars($data->image->title, ENT_COMPAT, 'UTF-8') . "</title>\n";
$feed .= " <link>" . str_replace(' ', '%20', $data->image->link) . "</link>\n";

if ($data->image->width != '')
{
$feed .= " <width>" . $data->image->width . "</width>\n";
}

if ($data->image->height != '')
{
$feed .= " <height>" . $data->image->height . "</height>\n";
}

if ($data->image->description != '')
{
$feed .= " <description><![CDATA[" . $data->image->description . "]]></description>\n";
}

$feed .= " </image>\n";
}

if ($data->getLanguage() !== '')
{
$feed .= " <language>" . $data->getLanguage() . "</language>\n";
}

if ($data->copyright != '')
{
$feed .= " <copyright>" . htmlspecialchars($data->copyright, ENT_COMPAT, 'UTF-8') . "</copyright>\n";
}

if ($data->editorEmail != '')
{
$feed .= " <managingEditor>" . htmlspecialchars($data->editorEmail, ENT_COMPAT, 'UTF-8') . ' ('
. htmlspecialchars($data->editor, ENT_COMPAT, 'UTF-8') . ")</managingEditor>\n";
}

if ($data->webmaster != '')
{
$feed .= " <webMaster>" . htmlspecialchars($data->webmaster, ENT_COMPAT, 'UTF-8') . "</webMaster>\n";
}

if ($data->pubDate != '')
{
$pubDate = \JFactory::getDate($data->pubDate);
$pubDate->setTimeZone($tz);
$feed .= " <pubDate>" . htmlspecialchars($pubDate->toRFC822(true), ENT_COMPAT, 'UTF-8') . "</pubDate>\n";
}

if (!empty($data->category))
{
if (is_array($data->category))
{
foreach ($data->category as $cat)
{
$feed .= " <category>" . htmlspecialchars($cat, ENT_COMPAT, 'UTF-8') . "</category>\n";
}
}
else
{
$feed .= " <category>" . htmlspecialchars($data->category, ENT_COMPAT, 'UTF-8') . "</category>\n";
}
}

if ($data->docs != '')
{
$feed .= " <docs>" . htmlspecialchars($data->docs, ENT_COMPAT, 'UTF-8') . "</docs>\n";
}

if ($data->ttl != '')
{
$feed .= " <ttl>" . htmlspecialchars($data->ttl, ENT_COMPAT, 'UTF-8') . "</ttl>\n";
}

if ($data->rating != '')
{
$feed .= " <rating>" . htmlspecialchars($data->rating, ENT_COMPAT, 'UTF-8') . "</rating>\n";
}

if ($data->skipHours != '')
{
$feed .= " <skipHours>" . htmlspecialchars($data->skipHours, ENT_COMPAT, 'UTF-8') . "</skipHours>\n";
}

if ($data->skipDays != '')
{
$feed .= " <skipDays>" . htmlspecialchars($data->skipDays, ENT_COMPAT, 'UTF-8') . "</skipDays>\n";
}

for ($i = 0, $count = count($data->items); $i < $count; $i++)
{
$itemlink = $data->items[$i]->link;

if (preg_match('/[\x80-\xFF]/', $itemlink))
{
$itemlink = implode('/', array_map('rawurlencode', explode('/', $itemlink)));
}

if ((strpos($itemlink, 'http://') === false) && (strpos($itemlink, 'https://') === false))
{
$itemlink = str_replace(' ', '%20', $url . $itemlink);
}

$feed .= " <item>\n";
$feed .= " <title>" . htmlspecialchars(strip_tags($data->items[$i]->title), ENT_COMPAT, 'UTF-8') . "</title>\n";
$feed .= " <link>" . str_replace(' ', '%20', $itemlink) . "</link>\n";

if (empty($data->items[$i]->guid))
{
$feed .= " <guid isPermaLink=\"true\">" . str_replace(' ', '%20', $itemlink) . "</guid>\n";
}
else
{
$feed .= " <guid isPermaLink=\"false\">" . htmlspecialchars($data->items[$i]->guid, ENT_COMPAT, 'UTF-8') . "</guid>\n";
}

            $antiteg = $this->_relToAbs($data->items[$i]->description);
            $antiteg = str_replace('<img src="http://loacalhost/images/baner.png" />', "banner.png", $antiteg);
            $bezteg = strip_tags($antiteg);
            $bezteg = str_replace("banner.png", '<![CDATA[<img src="http://loacalhost/images/baner.png" />]]>
                                ', $bezteg);


$feed .= " <description>" . $bezteg . "</description>\n";

if ($data->items[$i]->authorEmail != '')
{
$feed .= ' <author>'
. htmlspecialchars($data->items[$i]->authorEmail . ' (' . $data->items[$i]->author . ')', ENT_COMPAT, 'UTF-8') . "</author>\n";
}

/*
* @todo: On hold
* if ($data->items[$i]->source!='')
* {
*   $data.= " <source>" . htmlspecialchars($data->items[$i]->source, ENT_COMPAT, 'UTF-8') . "</source>\n";
* }
*/

if (empty($data->items[$i]->category) === false)
{
if (is_array($data->items[$i]->category))
{
foreach ($data->items[$i]->category as $cat)
{
$feed .= " <category>" . htmlspecialchars($cat, ENT_COMPAT, 'UTF-8') . "</category>\n";
}
}
else
{
$feed .= " <category>" . htmlspecialchars($data->items[$i]->category, ENT_COMPAT, 'UTF-8') . "</category>\n";
}
}

if ($data->items[$i]->comments != '')
{
$feed .= " <comments>" . htmlspecialchars($data->items[$i]->comments, ENT_COMPAT, 'UTF-8') . "</comments>\n";
}

if ($data->items[$i]->date != '')
{
$itemDate = \JFactory::getDate($data->items[$i]->date);
$itemDate->setTimeZone($tz);
$feed .= " <pubDate>" . htmlspecialchars($itemDate->toRFC822(true), ENT_COMPAT, 'UTF-8') . "</pubDate>\n";
}

if ($data->items[$i]->enclosure != null)
{
$feed .= " <enclosure url=\"";
$feed .= $data->items[$i]->enclosure->url;
$feed .= "\" length=\"";
$feed .= $data->items[$i]->enclosure->length;
$feed .= "\" type=\"";
$feed .= $data->items[$i]->enclosure->type;
$feed .= "\"/>\n";
}

$feed .= " </item>\n";
}

$feed .= " </channel>\n";
$feed .= "</rss>\n";

return $feed;
}
}
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Я имел ввиду XML файла
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Я имел ввиду XML файла

Код
<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>з</title>
<description><![CDATA[]]></description>
<link>http://localhost/лента</link>
<lastBuildDate>Sat, 13 Oct 2018 12:08:18 +0000</lastBuildDate>
<generator>Joomla! - Open Source Content Management</generator>
<atom:link rel="self" type="application/rss+xml" href="http://localhost/лента?format=feed&amp;type=rss"/>
<language>ru-ru</language>
<item>
<title>Опубликовано 2018.10.13 12:24:44</title>
<link>http://localhost/лента/201810131224444218</link>
<guid isPermaLink="true">http://localhost/лента/201810131224444218</guid>
<description><![CDATA[<img src="http://localhost/images/baner.png" />]]>
            Первоя строка
            Вторая строка
            Третья строка
<category>Лента</category>
<pubDate>Sat, 13 Oct 2018 06:24:44 +0000</pubDate>
</item>
</channel>
</rss>
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
А к надо какие нибудь фильтры для материалов? К примеру по категории, автору, языку...
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
А к надо какие нибудь фильтры для материалов? К примеру по категории, автору, языку...
А к надо какие нибудь фильтры для материалов? К примеру по категории, автору, языку...

Неа, лента чисто для подключения в группу.
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Выводить все материалы которые есть на сайте? или определенноеи кол-во
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Выводить все материалы которые есть на сайте? или определенноеи кол-во

Выводить надо только материалы из определенной категории. При этом ВКонтакте парсит только материалы имеющие сегодняшнюю дату, все старое игнорируется. Я не знаю насколько интенсивно будет люди писать на стену, поэтому, наверное надо все.
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Выводить надо только материалы из определенной категории. При этом ВКонтакте парсит только материалы имеющие сегодняшнюю дату, все старое игнорируется. Я не знаю насколько интенсивно будет люди писать на стену, поэтому, наверное надо все.
Я тут не много набросал в виде плагина. Нет возможности проверить правильно ли сделал!
Ссылка для доступа к RSS каналу
[свернуть]
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Я тут не много набросал в виде плагина. Нет возможности проверить правильно ли сделал!
Ссылка для доступа к RSS каналу
[свернуть]

Большое спасибо) После выходных проверю, там еще тег enclosure понадобится, но это уже сам вставлю. По результатам отпишусь.
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Большое спасибо) После выходных проверю, там еще тег enclosure понадобится, но это уже сам вставлю. По результатам отпишусь.
А есть какая документация как должен выглядеть XML файл и описание всех атрибутов?
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
А есть какая документация как должен выглядеть XML файл и описание всех атрибутов?

Как не быть, есть, но на английском все) На русском тоже есть, но примеров наглядных мало. Сам пока разбираюсь.

http://www.internet-technologies.ru/articles/specifikaciya-rss-2-0.html
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
почти работает  ;)
но CDATA, как я понял, должна цепляться вот так
Код
				$item_description = $xml->createElement('description');
$cd = $xml->createCDATASection($item->introtext);
$item_description->appendChild($cd);
$xml_item->appendChild($item_description);

также не прицеплены языки оказались, + пример ссылки на ленту в описание не плохо бы засунуть )
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
В целом работает, но выводит все материалы подряд, включая корзину. А нельзя ли как-то просто засунуть внутрь этого плагина вывод RssRenderer.php? Меня устраивает как работает это файл, а мелкие правки сам внесу.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну ты не прав )
специально для тебя товарищ постарался - бери и пили, как тебе надо.
там же выбор категорий есть, что у тебя "корзина" в общей куче свалена?
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
там же выбор категорий есть, что у тебя "корзина" в общей куче свалена?

Скорей всего упустил этот момент и не фильтрую по состоянию. Это легко решить просто допиши после 33 строки
Код: php
$model->setState('filter.published', 1);
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[РЕШЕНО]Скрыть пункт меню на мобильных устройствах

Автор lexxbry

Ответов: 16
Просмотров: 4726
Последний ответ 23.05.2023, 07:22:49
от geral
Не сворачивается Offcanvas Menu Helix3, якорная ссылка. Landing Page - РЕШЕНО

Автор alekshavan

Ответов: 21
Просмотров: 3400
Последний ответ 15.10.2022, 10:18:46
от forsight
[Решено] Модули шаблона Helix 3

Автор Egoritch

Ответов: 3
Просмотров: 564
Последний ответ 27.05.2021, 13:26:52
от Egoritch
[Решено] CSS-класс заголовка модуля

Автор schel4ok

Ответов: 36
Просмотров: 17015
Последний ответ 06.04.2021, 23:35:20
от Wak
[РЕШЕНО]Обернуть в тег &lt;a&gt;

Автор AlexB

Ответов: 4
Просмотров: 467
Последний ответ 21.11.2020, 20:11:51
от AlexB