Герман Максимов −2


Герман Максимов

  • Герман Максимов Герман Максимов 5 сентября 2021 00:47 #

    Назрел еще вопрос. Данный метод помог с урлом категории без гет запросов, то есть на странице /products/category/elektrosamokati/ все работает хорошо, но если сортировать товары, то урл принимает другой вид /products/category/elektrosamokati/?sort=create_datetime&order=desc и скрытый блок показывается вновь. Как этого избежать?

    в ответ на Как скрыть блок на определенной сртаницах?

  • Герман Максимов Герман Максимов 3 сентября 2021 14:53 #

    Тему уже видел, но ради этого не могу полностью менять тему на сайте. Надо внедрять на существующей https://elektrosamokat-v-spb.r...

    в ответ на Вывод фильтра на главной

  • Герман Максимов Герман Максимов 21 июня 2021 11:27 #

    "т.к. при обновлении страницы каждый раз будет генерироваться случайное значение" - вы правы. 

    Плагин интересный, но придется же переписывать все отзывы, чего не хотелось бы

    в ответ на Случайная дата php

  • Герман Максимов Герман Максимов 19 июня 2021 01:57 #

    Спасибо! 

    в ответ на Как скрыть блок с видео на php?

  • Герман Максимов Герман Максимов 6 июня 2021 19:25 #

    Да это понятно. Может внедрите за небольшую плату? Телеграм escootershop

    в ответ на Как удалить ссылку (непростую ссылку)

  • Герман Максимов Герман Максимов 6 июня 2021 13:17 #

    А куда это дело вставлять?

    в ответ на Как удалить ссылку (непростую ссылку)

  • Герман Максимов Герман Максимов 4 июня 2021 23:04 #

    Супер, спасибо

    в ответ на Отложите загрузку скрытых изображений

  • Герман Максимов Герман Максимов 2 июня 2021 20:36 #

    роботс

    в ответ на Canonical для ?page=8

  • Герман Максимов Герман Максимов 18 мая 2021 16:59 #

    Верно! Спасибо

    в ответ на CLS

  • Герман Максимов Герман Максимов 18 мая 2021 14:56 #

    Ответил выше

    в ответ на CLS

  • Герман Максимов Герман Максимов 18 мая 2021 14:55 #

    Видимо вы о другом. Мне надо именно так задать 

    https://web.dev/optimize-cls/?...

    <img src="puppy.jpg" width="640" height="360" alt="Puppy with balloons" />
    <code class="language-html"> </code>

    в ответ на CLS

  • Герман Максимов Герман Максимов 18 мая 2021 13:26 #

    так не помогло. Как правильно?

    item-img-gal__image img{max-width:100%;max-height:100%;width=200;height=200;}

    в ответ на CLS

  • Герман Максимов Герман Максимов 22 апреля 2021 11:45 #

    Сайты пришлось делать на разных лицензиях и серверах

    в ответ на Синхронизация цен с Яндекс маркетом

  • Герман Максимов Герман Максимов 13 апреля 2021 13:32 #

    какой ценный ответ. спасибо, на форуме не уже помогали разобраться и сделать самому без всяких оплат 

    в ответ на Как разбить меню на два столбца?

  • Герман Максимов Герман Максимов 13 апреля 2021 13:26 #

    это и так понятно, вопрос в том как 

    в ответ на Как разбить меню на два столбца?

  • Герман Максимов Герман Максимов 13 апреля 2021 12:26 #

    не подумал об этом. Но так как подкатегорий нет кроме одной, то проблема не особо стоит 

    в ответ на Как разбить меню на два столбца?

  • Герман Максимов Герман Максимов 23 марта 2021 22:12 #

    Спасибо, работает!

    в ответ на Как сделать фильтры по умолчанию свернутыми?

  • Герман Максимов Герман Максимов 23 марта 2021 16:34 #

    Спасибо, проверю, вот сайт https://elektrosamokat-v-spb.r...


    upd Не помогло

    в ответ на Как сделать фильтры по умолчанию свернутыми?

  • Герман Максимов Герман Максимов 23 марта 2021 16:32 #

    Спасибо! все работает

    в ответ на Ссылка на открытую вкладку отзывов

  • Герман Максимов Герман Максимов 20 марта 2021 21:50 #

    Почти сработало. Скроллит, но перезагружается страница

    в ответ на Ссылка на открытую вкладку отзывов

  • Герман Максимов Герман Максимов 20 марта 2021 10:15 #

    Собственно сам код

    {strip}
    <div class="catalog-pg__outer-wrapper pos-rel" data-sidebar="filters">
    	<div class="descr-mode pos-abs"><span class="pos-rel">FILTERS</span></div>
    	<div class="catalog-pg__sidebar-header catalog-pg__sidebar-header_filter">
    		<div class="catalog-pg__sidebar-header-title">
    			<svg class="icon" width="16" height="16">
    				<use xlink:href="#icon-filter"></use>
    			</svg>
    			<strong>[`Filters`]</strong>
    		</div>
    		<div class="catalog-pg__sidebar-header-close">
    			<svg class="icon" width="10" height="10">
    				<use xlink:href="#icon-close"></use>
    			</svg>
    		</div>
    	</div>
    	<div class="catalog-pg__sidebar-inner filters">
    		<form class="catalog-pg__filter-v{if $theme_settings.filters_design eq 'free'} catalog-pg__filter-v_nobd{elseif $theme_settings.filters_design eq 'backgrounded'} catalog-pg__sidebar_grey{/if}" method="get" action="{$wa->currentUrl(0,1)}">
    			{foreach $filters as $fid => $filter}
    				<div class="catalog-pg__filter-item">
    					<div class="filter-wr">
    						{if $fid == 'price'}
    							{$c = $wa->shop->currency(true)}
    							<div class="filter-wr__header active">
    								<div class="filter-wr__title">
    									<strong>[`Price`] ({$c.sign})</strong>
    								</div>
    								<svg class="icon" width="11" height="6">
    									<use xlink:href="#arrow-down-big"></use>
    								</svg>
    							</div>
    							<div class="filter-wr__body">
    								<div class="range-slider">
    									<div class="range-slider__inputs">
    										<div class="range-slider__input">
    											<input type="text" name="price_min" class="filter-range__min" value="{(int)$wa->get('price_min',floor($filter.min))}" placeholder="{floor($filter.min)}">
    										</div>
    										<div class="range-slider__input">
    											<input type="text" name="price_max" class="filter-range__max" value="{(int)$wa->get('price_max',ceil($filter.max))}" placeholder="{ceil($filter.max)}">
    										</div>
    									</div>
    									{*<div class="range-slider__caret"></div>*}
    								</div>
    							</div>
    						{else}
    							<div class="filter-wr__header active">
    								<div class="filter-wr__title">
    									<strong>{$filter.name|escape}{if !empty($filter.unit)}({$filter.unit.title}){/if}</strong>
    									{*<div class="filter-wr__tooltip has-tooltip" data-title="Tooltip text here">?</div>*}
    								</div>
    								<svg class="icon" width="11" height="6">
    									<use xlink:href="#arrow-down-big"></use>
    								</svg>
    							</div>
    							<div class="filter-wr__body">
    								{if $filter.type == 'boolean'}
    									<div class="filter-options{if $theme_settings.filters_collapse > 0} filter-options_more {/if}"{if $theme_settings.filters_collapse > 0} data-qty="{$theme_settings.filters_collapse}"{/if}>
    										<ul class="filter-options__list">
    											<li class="filter-options__item">
    <label>
        {$radio_filter_url = shopSeofilterViewHelper::getFilterUrl($filter.id, "1", $filter.code)}
        {if $radio_filter_url}
            <span><a class="filter-link" href="{$radio_filter_url}">[`Yes`]</a></span>
        {else}
            <span>[`Yes`]</span>
        {/if}
        <input type="radio" name="{$filter.code}" {if $wa->get($filter.code)} checked{/if} value="1">
    </label>
    											</li>
    											<li class="filter-options__item">
    <label>
        {$radio_filter_url = shopSeofilterViewHelper::getFilterUrl($filter.id, "0", $filter.code)}
        {if $radio_filter_url}
            <span><a class="filter-link" href="{$radio_filter_url}">[`No`]</a></span>
        {else}
            <span>[`No`]</span>
        {/if}
        <input type="radio" name="{$filter.code}" {if $wa->get($filter.code) === '0'} checked{/if} value="1">
    </label>
    											</li>
    											<li class="filter-options__item">
    												<label>
    													<span>[`Any`]</span>
    													<input type="radio" name="{$filter.code}"{if $wa->get($filter.code, '') === ''} checked{/if} value="">
    												</label>
    											</li>
    										</ul>
    									</div>
    								{elseif $filter.type == 'color'}
    									<div class="filter-options{if $theme_settings.filters_collapse > 0} filter-options_more {/if}"{if $theme_settings.filters_collapse > 0} data-qty="{$theme_settings.filters_collapse}"{/if}>
    										<ul class="filter-options__list">
    											{foreach $filter.values as $v_id => $v}
    												<li class="filter-options__item">
    													<label class="form-label">
    													{$filter_url = shopSeofilterViewHelper::getFilterUrl($filter.id, $v_id, $filter.code)}
    {if $filter_url}
        <a class="filter-link" href="{$filter_url}">{$v}</a>
    {else}
        {$v}
    {/if}
    														<input type="checkbox" name="{$filter.code}[]"{if in_array($v_id, (array)$wa->get($filter.code, array()))} checked{/if} value="{$v_id}">
    													</label>
    												</li>
    											{/foreach}
    										</ul>
    										{if $theme_settings.filters_collapse|default:0 > 0 && count($filter.values)>$theme_settings.filters_collapse|default:0}
    											<div class="filter-options__qty-toggle single-line" data-hide="[`hide`]" data-show="[`show more`]">
    												<span>[`show more`]</span>
    												<svg class="icon" width="8" height="4">
    													<use xlink:href="#arrow-down-big"></use>
    												</svg>
    											</div>
    										{/if}
    									</div>
    								{elseif isset($filter.min)}
    									{$_v = $wa->get($filter.code)}
    									<div class="range-slider">
    										<div class="range-slider__inputs">
    											<div class="range-slider__input">
    												<input type="text" class="filter-range__min" name="{$filter.code}[min]"{if !empty($_v.min)} value="{$_v.min}"{/if} placeholder="{$filter.min}">
    											</div>
    											<div class="range-slider__input">
    												<input type="text" class="filter-range__max" name="{$filter.code}[max]"{if !empty($_v.max)} value="{$_v.max}"{/if} placeholder="{$filter.max}">
    											</div>
    										</div>
    										{if !empty($filter.unit)}
    											{if $filter.unit.value != $filter.base_unit.value}<input type="hidden" name="{$filter.code}[unit]" value="{$filter.unit.value}">{/if}
    										{/if}
    										{*<div class="range-slider__caret"></div>*}
    									</div>
    								{else}
    									<div class="filter-options{if $theme_settings.filters_collapse > 0} filter-options_more {/if}"{if $theme_settings.filters_collapse > 0} data-qty="{$theme_settings.filters_collapse}"{/if}>
    										<ul class="filter-options__list">
    											{foreach $filter.values as $v_id => $v}
    												<li class="filter-options__item">
    													<label class="form-label">
    														<span>{$v}</span>
    														<input type="checkbox" name="{$filter.code}[]"{if in_array($v_id, (array)$wa->get($filter.code, array()))} checked{/if} value="{$v_id}">
    													</label>
    												</li>
    											{/foreach}
    										</ul>
    										{if $theme_settings.filters_collapse|default:0 > 0 && count($filter.values)>$theme_settings.filters_collapse|default:0}
    											<div class="filter-options__qty-toggle single-line" data-hide="[`hide`]" data-show="[`show more`]">
    												<span>[`show more`]</span>
    												<svg class="icon" width="8" height="4">
    													<use xlink:href="#arrow-down-big"></use>
    												</svg>
    											</div>
    										{/if}
    									</div>
    								{/if}
    							</div>
    						{/if}
    					</div>
    				</div>
    			{/foreach}
    			<div class="catalog-pg__filter-btns">
    				{*
    				<button class="catalog-pg__btn-show btn btn {$theme_settings.main_buttons_style|replace:'img/themebuttons/':''|replace:'.gif':''} btn btn_sec-1" type="submit">
    					<div class="hover-anim"></div>
    					<span>[`Filter products`]</span>
    				</button>
    				*}
    				<a href="{$wa->currentUrl(0,1)}" class="catalog-pg__btn-reset btn btn {$theme_settings.main_buttons_style|replace:'img/themebuttons/':''|replace:'.gif':''} btn btn_sec-5">
    					<div class="hover-anim"></div>
    					<span>[`clear`]</span>
    				</a>
    			</div>
    			{if $wa->get('sort')}<input type="hidden" name="sort" value="{$wa->get('sort')|escape}">{/if}
    			{if $wa->get('order')}<input type="hidden" name="order" value="{$wa->get('order')|escape}">{/if}
    		</form>
    	</div>
    </div>
    {/strip}

    в ответ на Как сделать фильтры по умолчанию свернутыми?

  • Герман Максимов Герман Максимов 14 марта 2021 17:27 #

    "регуляркой его заменить на обычный" это как?

    в ответ на Ошибка валидатора No space between attributes.

  • Герман Максимов Герман Максимов 22 февраля 2021 21:07 #

    И вам спасибо!

    в ответ на Шрифты

  • Герман Максимов Герман Максимов 22 февраля 2021 01:37 #

    Спасибо, действительно тянул плагин заказа в 1 клик. Этим кодом:

    /**
         * Get css and fonts
         *
         * @return array ('inline_css', 'google_fonts')
         */
        public static function getCss()
        {
            if (self::$css) {
                self::$css = str_replace(';}', '}', self::$css);
            }
            $google_fonts = array("'Open Sans',sans-serif" => "Open+Sans", "'Open Sans Condensed',sans-serif" => "Open+Sans+Condensed:300", "'Roboto',sans-serif" => "Roboto", "'Roboto Condensed',sans-serif" => "Roboto+Condensed", "'Roboto Slab',serif" => "Roboto+Slab", "'PT Sans',sans-serif" => "PT+Sans", "'Lora',serif" => "Lora", "'Lobster',cursive" => "Lobster", "'Ubuntu',sans-serif" => "Ubuntu", "'Noto Sans',sans-serif" => "Noto+Sans");
            $active_fonts = array();
            foreach (self::$fonts as $f) {
                if (isset($google_fonts[$f])) {
                    $active_fonts[$f] = $google_fonts[$f];
                }
            }
            return array('inline_css' => self::$css, 'google_fonts' => $active_fonts ? '<link href="https://fonts.googleapis.com/css?family=' . implode('%7C', $active_fonts) . '" rel="stylesheet">' : '');
        }

    Теперь остается вопрос как реализовать здесь font-display:swap чтоб угодить лайтхаусу

    в ответ на Шрифты

  • Герман Максимов Герман Максимов 16 апреля 2019 19:56 #

    Куда это вставить?

    в ответ на Некликабельная страница в меню