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

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Здравствуйте! Подстакиже пожалуйста как в модуле Custom Filters сделать так: Перенести рамку с блока, который виден всегда, на блок, который виден только с существующими опциями. Т.е. если нет параметров для фильтрации, то и фильтр не отображался.
Просто когда нет параметров на главной получается у нас на сайте отображается просто квадрат. А когда заходишь в любую категорию фильтр отображает параметры для фильтрации.
Стиль в модуле не вариант поменять, нам рамка нужна в категориях. А на главной нам надо, чтоб не отображалась. Надеюсь понятно.
« Последнее редактирование: 19.04.2021, 12:25:37 от DrShepard »
*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
Нет опции в модуле скрывать опции, которые пусты ?
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Нет опции в модуле скрывать опции, которые пусты ?
Нет(
« Последнее редактирование: 19.04.2021, 13:25:23 от DrShepard »
*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
Нет опции в модуле скрывать опции, которые пусты ?
Вроде должная быть во всех версиях, это из Про .
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Нет опции в модуле скрывать опции, которые пусты ?
Ой, не поняла Вас. Да такие настройки есть. В настройках стоить прятать. Так и он и прячет фильтр на главной, т.к. нет оптиций для выбора. Но вот рамка все равно отображается модуля фильтра. *ОХ-Х-Х* Спасибо, что пытаетесь помочь. А то я новичок.
*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
Тогда только в стилях прятать. Ссылка на сайт ?
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Тогда только в стилях прятать. Ссылка на сайт ?
https://solt74.ru/
*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
Поставьте пробел перед суффикс  класса в модуле categories, а то слитно moduletablecategories и  стили не применяются.
Укажите класс CSS-класс страницы для пункт меню главной страницы, например main_page и тогда можно применить правило
Код
.main_page .categories {display: none} 
п.с.
А лучше добавить проверку в стиль модуля , как в стандартной функции
Код
if ($module->content)
« Последнее редактирование: 20.04.2021, 11:27:31 от draff »
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Поставьте пробел перед суффикс  класса в модуле categories, а то слитно moduletablecategories и  стили не применяются.
Укажите класс CSS-класс страницы для пункт меню главной страницы, например main_page и тогда можно применить правило
Код
.main_page .categories {display: none} 
п.с.
А лучше добавить проверку в стиль модуля, как в стандартной функции
Код
if ($module->content)
Спасибо Вам, попробовала сделать как Вы сказали. Не получилось, рамки убираются везде. И на главной и когда заходишь в категорию. Дело в том что, главная это у нас категория товаров.  *ОХ-Х-Х* *ОХ-Х-Х* *ОХ-Х-Х* *ОХ-Х-Х* *ОХ-Х-Х*Сделано по дебильному((
Пыталась вставить код, когда вставляла, то опции фильтра пропадали везде, а рамка все равно оставалась(
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Может рамку не к модулю писать а к содержимому?
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Может рамку не к модулю писать а к содержимому?
Я извиняюсь, но как? Я просто с кодом не дружу( Если подскажите, то исправить то смогу.
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
.cf_wrapp_all{
Ваш бордер;
Ну и padding:10px;}
 А на table убрать бордеры

*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
попробовала сделать как Вы сказали. Не получилось, рамки убираются везде. И на главной и когда заходишь в категорию.
А лучше добавить проверку в стиль модуля, как в стандартной функции
выложите свой /html/modules.php из шаблона или хотя бы код функции стиля модуля, который применяется для фильтра
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
выложите свой /html/modules.php из шаблона или хотя бы код функции стиля модуля, который применяется для фильтра
файл надеюсь правильный. Взяла из сайт/templates/наш-шаблон/html/ modules.php
Код
<?php
defined('_JEXEC') or die;
$app    = JFactory::getApplication();
$template = $app->getTemplate();

/**
 * This is a file to add template specific chrome to module rendering.  To use it you would
 * set the style attribute for the given module(s) include in your template to use the style
 * for each given modChrome function.
 *
 * eg.  To render a module mod_test in the submenu style, you would use the following include:
 * <jdoc:include type="module" name="test" style="submenu" />
 *
 * This gives template designers ultimate control over how modules are rendered.
 *
 * NOTICE: All chrome wrapping methods should be named: modChrome_{STYLE} and take the same
 * two arguments.
 */


/*
 * themeHtml5 (chosen themeHtml5 tag and font headder tags)
 */

function modChrome_themeHtml5($module, &$params, &$attribs)
{
  $moduleTag      = $params->get('module_tag');
  $headerTag      = htmlspecialchars($params->get('header_tag'));
  $headerClass    = $params->get('header_class');
  $bootstrapSize  = $params->get('bootstrap_size');
  $moduleClass    = !empty($bootstrapSize)? ' span' . (int) $bootstrapSize . '' : '';
  $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));

  if (!empty ($module->content))
  {
    $html  = "<{$moduleTag} class=\"moduletable {$moduleClassSfx} {$moduleClass}\"><div class=\"module_container\">";

    if ((bool) $module->showtitle)
    {
      $html .= "<header><{$headerTag} class=\"moduleTitle {$headerClass}\">".$module->title."</{$headerTag}></header>";
    }

    $html .= $module->content;
    $html .= "</div></{$moduleTag}>";

    echo $html;
  }
}

function modChrome_themeHtml5_noMobile($module, &$params, &$attribs)
{
  if(!$client->mobile){
    $moduleTag      = $params->get('module_tag');
    $headerTag      = htmlspecialchars($params->get('header_tag'));
    $headerClass    = $params->get('header_class');
    $bootstrapSize  = $params->get('bootstrap_size');
    $moduleClass    = !empty($bootstrapSize)? ' span' . (int) $bootstrapSize . '' : '';
    $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));

    if (!empty ($module->content))
    {
      $html  = "<{$moduleTag} class=\"moduletable {$moduleClassSfx} {$moduleClass}\"><div class=\"module_container\">";

      if ((bool) $module->showtitle)
      {
        $html .= "<header><{$headerTag} class=\"moduleTitle {$headerClass}\">". $module->title."</{$headerTag}></header>";
      }

      $html .= $module->content;
      $html .= "</div></{$moduleTag}>";

      echo $html;
    }
  }
}

function modChrome_html5nosize($module, &$params, &$attribs)
{
  $moduleTag      = $params->get('module_tag');
  $headerTag      = htmlspecialchars($params->get('header_tag'));
  $headerClass    = $params->get('header_class');
  $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));

  if (!empty ($module->content))
  {
    $html  = "<{$moduleTag} class=\"moduletable {$moduleClassSfx}\"><div class=\"module_container\">";

    if ((bool) $module->showtitle){
      $html .= "<header><{$headerTag} class=\"moduleTitle {$headerClass}\">".$module->title."</{$headerTag}></header>";
    }

    $html .= $module->content;
    $html .= "</div></{$moduleTag}>";

    echo $html;
  }
}

function modChrome_html5nosizeMap($module, &$params, &$attribs)
{
  $themeLayout = JFactory::getApplication()->getTemplate(true)->params->get('themeLayout');
  switch ($themeLayout) {
    case '0':
      $containerClass = 'container';
      break;

    case '1':
      $containerClass = 'container-fluid';
      break;
   
    default:
      $containerClass = 'container';
      break;
  }
  $moduleTag      = $params->get('module_tag');
  $headerTag      = htmlspecialchars($params->get('header_tag'));
  $headerClass    = $params->get('header_class');
  $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));

  if (!empty ($module->content))
  {
    $html  = "<{$moduleTag} class=\"moduletable {$moduleClassSfx}\"><div class=\"module_container\">";

    if ((bool) $module->showtitle){
      $html .= "<div class=\"row-container\">
            <div class=\"".$containerClass."\">
              <header><{$headerTag} class=\"moduleTitle {$headerClass}\">".$module->title."</{$headerTag}></header>
              </div>
              </div>";
    }

    $html .= $module->content;
    $html .= "</div></{$moduleTag}>";

    echo $html;
  }
}

function modChrome_html5nosize_noMobile($module, &$params, &$attribs)
{
  if(!$client->mobile){
    $moduleTag      = $params->get('module_tag');
    $headerTag      = htmlspecialchars($params->get('header_tag'));
    $headerClass    = $params->get('header_class');
    $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));

    if (!empty ($module->content))
    {
      $html  = "<{$moduleTag} class=\"moduletable {$moduleClassSfx}\"><div class=\"module_container\">";

      if ((bool) $module->showtitle){
        $html .= "<header><{$headerTag} class=\"moduleTitle {$headerClass}\">".$module->title."</{$headerTag}></header>";
      }

      $html .= $module->content;
      $html .= "</div></{$moduleTag}>";

      echo $html;
    }
  }
}

function modChrome_modal($module, &$params, &$attribs)
{
  $moduleTag      = $params->get('module_tag');
  $headerTag      = htmlspecialchars($params->get('header_tag'));
  $headerClass    = $params->get('header_class');
  $bootstrapSize  = $params->get('bootstrap_size');
  $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));

  if (!empty ($module->content))
  {
    $html = "<{$moduleTag} class=\"moduletable {$moduleClassSfx}\">";

    if ((bool) $module->showtitle){
      $html .= "<div class=\"modal-header\"><header><{$headerTag} class=\"{$headerClass}\">".$module->title."</{$headerTag}></header></div>";
    }

    $html .= "<div class=\"modal-body\">";
    $html .= $module->content;
    $html .= "</div>";
    $html .= "</{$moduleTag}>";

    echo $html;
  }
}

function modChrome_sidebar($module, &$params, &$attribs)
{
  $moduleTag      = $params->get('module_tag');
  $headerTag      = htmlspecialchars($params->get('header_tag'));
  $headerClass    = $params->get('header_class');
  $moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'));
  if (!empty ($module->content))
  {
    $html = "<{$moduleTag} class=\"moduletable {$moduleClassSfx}\" id=\"module_{$module->id}\">";
    if ((bool) $module->showtitle){
      $html .= "<header><{$headerTag} class=\"{$headerClass}\">".$module->title."</{$headerTag}></header>";
    }
    $html .= $module->content;
    $html .= "</{$moduleTag}>";
    echo $html;
  }
}
*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
Файл правильный, но не вижу обертки в табличку и везде проверка есть.Может в фильтре или в шаблоне  нужно смотреть.
И пробел вы так и не поставили перед суффиксом модуля, и сейчас слитно moduletablecategories
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Господа, что вы делаете велосипед?
Решение выше написал
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Файл правильный, но не вижу обертки в табличку и везде проверка есть.Может в фильтре или в шаблоне  нужно смотреть.
И пробел вы так и не поставили перед суффиксом модуля, и сейчас слитно moduletablecategories
Спасибо. Я ставила пробел, но потом вернула все обратно раз этот вариант не подходит.
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Господа, что вы делаете велосипед?
Решение выше написал
.cf_wrapp_all{
Ваш бордер;
Ну и padding:10px;}
 А на table убрать бордеры


Спасибо, только пока не нашла где это менять))) просто на сервере по поиску текста сдела он мне нашел 2 файла где используется .cf_wrapp_all. Файл: drag_refactor.js и general-uncompressed.js. Но я не думаю что это тут меняться. Это нужно добавить в файл CSS, верно?
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Именно в CSS
И там же в template.css
Удалите бордеры у table
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Файл правильный, но не вижу обертки в табличку и везде проверка есть.Может в фильтре или в шаблоне  нужно смотреть.
И пробел вы так и не поставили перед суффиксом модуля, и сейчас слитно moduletablecategories
Возможно Вы не видете обертку в табличку, т.к. в модуле Стиль модуля выбран table из System. Вот файл modules.php из /templates/system/html
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  Template.system
 *
 * [member=126442]copyright[/member]   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/*
 * none (output raw module content)
 */
function modChrome_none($module, &$params, &$attribs)
{
echo $module->content;
}

/*
 * html5 (chosen html5 tag and font header tags)
 */
function modChrome_html5($module, &$params, &$attribs)
{
$moduleTag      = htmlspecialchars($params->get('module_tag', 'div'), ENT_QUOTES, 'UTF-8');
$headerTag      = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8');
$bootstrapSize  = (int) $params->get('bootstrap_size', 0);
$moduleClass    = $bootstrapSize !== 0 ? ' span' . $bootstrapSize : '';

// Temporarily store header class in variable
$headerClass    = $params->get('header_class');
$headerClass    = !empty($headerClass)? ' class="' . htmlspecialchars($headerClass, ENT_COMPAT, 'UTF-8'). '"' : '';

if (!empty ($module->content)) : ?>
<<?php echo $moduleTag; ?> class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'). $moduleClass; ?>">

<?php if ((bool) $module->showtitle) :?>
<<?php echo $headerTag . $headerClass . '>' . $module->title; ?></<?php echo $headerTag; ?>>
<?php endif; ?>

<?php echo $module->content; ?>

</<?php echo $moduleTag; ?>>

<?php endif;
}

/*
 * Module chrome that wraps the module in a table
 */
function modChrome_table($module, &$params, &$attribs)
{ ?>
<table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); ?>">
<?php if ((bool) $module->showtitle) : ?>
<tr>
<th>
<?php echo $module->title; ?>
</th>
</tr>
<?php endif; ?>
<tr>
<td>
<?php echo $module->content; ?>
</td>
</tr>
</table>
<?php
}

/*
 * Module chrome that wraps the tabled module output in a <td> tag of another table
 */
function modChrome_horz($module, &$params, &$attribs)
{ ?>
<table cellspacing="1" cellpadding="0" width="100%">
<tr>
<td>
<?php modChrome_table($module, $params, $attribs); ?>
</td>
</tr>
</table>
<?php
}

/*
 * XHTML (divs and font header tags)
 * With the new advanced parameter it does the same as the html5 chrome
 */
function modChrome_xhtml($module, &$params, &$attribs)
{
$moduleTag      = htmlspecialchars($params->get('module_tag', 'div'), ENT_QUOTES, 'UTF-8');
$headerTag      = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8');
$bootstrapSize  = (int) $params->get('bootstrap_size', 0);
$moduleClass    = $bootstrapSize !== 0 ? ' span' . $bootstrapSize : '';

// Temporarily store header class in variable
$headerClass    = $params->get('header_class');
$headerClass    = $headerClass ? ' class="' . htmlspecialchars($headerClass, ENT_COMPAT, 'UTF-8'). '"' : '';

if (!empty ($module->content)) : ?>
<<?php echo $moduleTag; ?> class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'). $moduleClass; ?>">
<?php if ((bool) $module->showtitle) : ?>
<<?php echo $headerTag . $headerClass . '>' . $module->title; ?></<?php echo $headerTag; ?>>
<?php endif; ?>
<?php echo $module->content; ?>
</<?php echo $moduleTag; ?>>
<?php endif;
}

/*
 * Module chrome that allows for rounded corners by wrapping in nested div tags
 */
function modChrome_rounded($module, &$params, &$attribs)
{ ?>
<div class="module<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); ?>">
<div>
<div>
<div>
<?php if ((bool) $module->showtitle) : ?>
<h3><?php echo $module->title; ?></h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
</div>
</div>
</div>
<?php
}

/*
 * Module chrome that add preview information to the module
 */
function modChrome_outline($module, &$params, &$attribs)
{
static $css = false;

if (!$css)
{
$css = true;
$doc = JFactory::getDocument();

$doc->addStyleDeclaration('
.mod-preview {
background: rgba(100,100,100,.08);
box-shadow: 0 0 0 4px #f4f4f4, 0 0 0 5px rgba(100,100,100,.2);
border-radius: 1px;
margin: 8px 0;
}
.mod-preview-info {
padding: 4px 6px;
margin-bottom: 5px;
font-family: Arial, sans-serif;
font-size: .75rem;
line-height: 1rem;
color: white;
background-color: #33373f;
border-radius: 3px;
box-shadow: 0 -10px 20px rgba(0,0,0,.2) inset;
}
.mod-preview-info span {
font-weight: bold;
color: #ccc;
}
.mod-preview-wrapper {
margin-bottom: .5rem;
}
');
}
?>
<div class="mod-preview">
<div class="mod-preview-info">
<div class="mod-preview-position">
<?php echo JText::sprintf('JGLOBAL_PREVIEW_POSITION', $module->position); ?>
</div>
<div class="mod-preview-style">
<?php echo JText::sprintf('JGLOBAL_PREVIEW_STYLE', $module->style); ?>
</div>
</div>
<div class="mod-preview-wrapper">
<?php echo $module->content; ?>
</div>
</div>
<?php
}
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Именно в CSS
И там же в template.css
Удалите бордеры у table
Не получается( я убираю бордеры, они убираются на Главной и в тоже время и в категориях, где нужна рамка.
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Всем спасибо! Я сдаюсь, скажу директору что я не могу это сделать. Пока оставим так >:(
*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
Возможно Вы не видете обертку в табличку, т.к. в модуле Стиль модуля выбран table из System. Вот файл modules.php из /templates/system/html
Допишите в свой файл в шаблоне, чтобы не затерлось при обновлении и выбирайте стиль noborder
Код
/*
 * Module chrome that wraps the module in a No Border
 */
function modChrome_noborder($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); ?>">
<?php if ((bool) $module->showtitle) : ?>
<tr>
<th>
<?php echo $module->title; ?>
</th>
</tr>
<?php endif; ?>
<tr>
<td>
<?php echo $module->content; ?>
</td>
</tr>
</table>
<?php
 endif; ?>
}
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
 
Допишите в свой файл в шаблоне, чтобы не затерлось при обновлении и выбирайте стиль noborder
Код
/*
 * Module chrome that wraps the module in a No Border
 */
function modChrome_noborder($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); ?>">
<?php if ((bool) $module->showtitle) : ?>
<tr>
<th>
<?php echo $module->title; ?>
</th>
</tr>
<?php endif; ?>
<tr>
<td>
<?php echo $module->content; ?>
</td>
</tr>
</table>
<?php
 endif; ?>
}
:D :D :D :D :D Огромное спасибо! Получилось! Очень благодарна за помощь.
*

DrShepard

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Допишите в свой файл в шаблоне, чтобы не затерлось при обновлении и выбирайте стиль noborder
Код
/*
 * Module chrome that wraps the module in a No Border
 */
function modChrome_noborder($module, &$params, &$attribs)
{
if (!empty ($module->content)) : ?>
<table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8'); ?>">
<?php if ((bool) $module->showtitle) : ?>
<tr>
<th>
<?php echo $module->title; ?>
</th>
</tr>
<?php endif; ?>
<tr>
<td>
<?php echo $module->content; ?>
</td>
</tr>
</table>
<?php
 endif; ?>
}
Я извеняюсь, не хочу показаться не благодарной. Спасибо еще раз за помощь. Когда заходишь в категорию все хорошо сначала рамка одна, но когда выбираешь опцию в фильтре рамка становится двойная. Это можно как то изменить?

*

draff

  • Гуру
  • 5283
  • 376 / 7
  • ищу работу
огда заходишь в категорию все хорошо сначала рамка одна, но когда выбираешь опцию в фильтре рамка становится двойная. Это можно как то изменить?
скрипт фильтра загружает Аяксом заново данные, и поэтому только через JavaScript, вешать обработчик события на  jQuery AjaxStop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль фильтра по меткам

Автор acm1980

Ответов: 10
Просмотров: 207
Последний ответ 15.02.2021, 13:20:03
от beliyadm
Стандартный модуль поиска Joomla не ищет в VirtueMart

Автор Eyes

Ответов: 6
Просмотров: 371
Последний ответ 08.01.2021, 20:46:07
от Eyes
Не устанавливается Flexi Custom Code

Автор Nikias

Ответов: 2
Просмотров: 225
Последний ответ 28.12.2020, 19:26:41
от arma
Яндекс: как перенести сайт с домена http на https

Автор Elimelech

Ответов: 2
Просмотров: 550
Последний ответ 12.01.2020, 11:54:16
от Elimelech
Модуль выпирает

Автор Jomler

Ответов: 1
Просмотров: 311
Последний ответ 29.11.2019, 05:53:54
от AlekVolsk