• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Как изменить расположение переключателя Grid/Toggle?

Статус
В этой теме нельзя размещать новые ответы.

Валерий

Специалист
#1
Возник вопрос по весьма полезному и популярному плагину WooCommerce Grid / List toggle. Переключение осуществляется посредством вот этой кнопки:

button-grid.jpg

По умолчанию кнопки переключения между списком и плиткой вставляются на страницу ниже строки количества товара и меню сортировки. А на главной странице у меня еще и слайдер, так что там видок еще тот получается. :eek:

Да и если посмотреть видео об установке этого плагина, то видно, что и у автора плагина переключатель по умолчанию устанавливается под меню сортировки и слегка портит внешний вид страницы:


Хотелось бы разместить кнопку справа, напротив названия страницы. Там ей самое место. Такое расположение списка переключателей я многократно видел на сайтах разных интернет-магазинах (не уверен, правда, что это было на WooCommerce). Смотрится очень хорошо. Вот пример, что я имею ввиду:

list-button.jpg

Как это можно сделать? Пробовал стандартные хуки, описанные на сайте поддержки WooCommerce, но мне удалось только заменить переключателем само название страницы (рубрики) :confused:... Написать свой хук, который бы размещал кнопку там, где надо - ума пока не хватает. :(
 
Последнее редактирование:

delitant

Опытный
#2
Давайте подробно - ссылку на сайт с кнопкой, код хуков которые перемещают кнопку и куда, что бы одну и ту же работу по-несколько раз не делать.
 

Валерий

Специалист
#3
Давайте подробно - ссылку на сайт с кнопкой...
А вот с этим небольшая заминка :rolleyes: Я сейчас делаю магазин на локалке (и сколько это еще продлится, даже загадывать не берусь :confused:)... на что я могу в таком случае дать ссылку? o_O Да это Вы можете посмотреть на любом своем тестовом (или рабочем) магазине. Организация многих тем WooCommerce примерно одинаковая, в плане вывода страниц рубрик. Вот угадайте, откуда я вырезал картинку для примера про белье? :) Ничего Вам не напоминает? :oops: Правильно, с интернет-магазина про Икс-Менов, точнее - XXX-Менов, из раздела "ДЛЯ НЕЁ" -> "БЕЛЬЁ".:D Я думаю принцип-то одинаковый. Если Вы сможете там прилепить переключатель, то скорее всего такой же код (хук, или что там еще нужно чтобы этот переключатель сместился) и мне подойдет...
 

delitant

Опытный
#4
В той теме смысла нет такой выключатель приделывать, у меня он есть тут http://billiards-market.ru/svojstva/kollekciya-start, но шёл в комплекте с темой, вроде бы без всяких плагинов. Просто банально нет времени разбиратся в том, что вы уже пробовали, поэтому и просил испытанные хуки и их результаты. Чем больше информации, тем легче разобраться.
 

Валерий

Специалист
#5
А что аз тема, и где ее исходники скачать? Думаю в исходниках есть все, что нужно, и выдрать нужный код не составит проблем?
 

delitant

Опытный
#6
А что аз тема, и где ее исходники скачать? Думаю в исходниках есть все, что нужно, и выдрать нужный код не составит проблем?
Тема bazar она платная. Может в ру-нете кто-то выкладывал - не знаю. Насчёт "выдрать" код тоже советовать ничего не могу, но теоретически думаю можно. Переключение прописано в админке темы.
 

delitant

Опытный
#7
Если честно я не сторонник "вырывания" и "ковыряния" без необходимости. Плагин же как-то прописывает код в страницу, возможно стоит определить как и "направить" в нужное место? Уверен такую проблему уже пытались решать.
 

Валерий

Специалист
#8
Плагин же как-то прописывает код в страницу.
Плагин прописывает код в страницу при помощи стандартного, базового хука. Я посмотрел список всех базовых хуков... Вообщем все эти стандартные хуки вставляют код куда угодно, только не туда, куда надо. :)

Если честно я не сторонник "вырывания" и "ковыряния" без необходимости.
А что здесь такого? Наоброт - это довольно любопытно, и, кроме того, чувствуешь себя по-настоящему русским человеком: сперва создаешь себе трудности, а потом их доблестно преодолеваешь! :D

Уверен такую проблему уже пытались решать.
Может и пытались, только что-то я решений не нарыл. Возможно это мой шанс стать Колумбом, и мое имя навсегда войдет в анналы истории! :rolleyes:
 
Последнее редактирование:

Валерий

Специалист
#9
Уже "заплатил" сразу за 3 версии (1.2, 1.5, 1.8) оптом! :p На самом деле тема абсолютно не впечатлила. :( На мой взгляд под Wordpress тема за 60$ должна выглядеть как женщина в красном из фильма "Матрица"! А тут серые будни...
На самом деле в серых тонах мне попадались такие конфетки, не в пример этому "базару". У них только страница настроек вызывает уважение. Солидно. Но не факт, что это хорошо. Я пока искал "платные" варианты, вот что вычитал о bazar: "в отличии от версии 1.5, в новом шаблоне исправлено более 100 ошибок" :eek: 100 ошибок в работающем интернет магазине - это сильно! :D :D :D У меня вот была 1 ошибка, которая всплыла через два месяца работы интернет-магазина. Позвонила клиентка и говорит: "А что это я не могу через вашу форму заказа ничего заказать...по телефону звонить пришлось". Оказалось, что у меня в магазине ДВА МЕСЯЦА не работала форма заказа в Опере. :mad: Не фигово так, правда?! И сколько бы она еще не работала, если бы клиентка не сказала мне об этом.

Причем непосредственно перед запуском магазина я все проверял во всех браузерах, и все работало. Но обшибка все таки закралась, причем в самый последний момент. Я не сторонник тем со сложной начинкой, в которой голову сломишь. Предпочитаю простые и симпатичные темы, которые пошагово довожу до нужного мне уровня вставкой кода или плагинами, многократно проверяя и тестируя получаемые результаты. Так конечно долго, но ведь делаю для себя, а не для "того парня". Конечно, если бы делал на заказ, то и поступал бы по-другому. ;)
 
Последнее редактирование модератором:

Валерий

Специалист
#11
Посмотрел вчера, правда мельком, в Базаре есть нужный хук, по крайней мере там мне без проблем удалось буквально за 15 секунд установить переключатель справа от тайтла страницы, так что у меня их получилось сразу 2 - от самой темы, и от плагина :D Сейчас занят другими делами, но в ближайшее время я попробую разобраться (я вчера особо не вникал, но как мне показалось на первый взгляд - это не сложно). Если все получится, распишу в этой теме подробное решение.;)
 

D&B

Администратор
Команда форума
Местный
#13
Вообще говоря, большинство вопросов по WooCommerce (да и вообще) из разряда - "Как мне вот эту кнопку отодвинуть вон туда, уменьшить/увеличить в три раза, рядом повесить видео и разместить голосовалку в придачу. И что бы после голосования, врубалось видео?" :cool:
 

Валерий

Специалист
#14
А почему так, спрашивается? o_O Потому что разработчики WooCommerce ...вертили довольно сложную структуру, а сторонние разработчики плагинов ее всячески придерживаются. В обычных плагинах для Wordpress, в большинстве случаев, все совершенно по-другому. Каждый плагин - это вещь в себе. У него есть голова, руки, ноги, туловище, и то, что чуть ниже...:D Все исправления затрагивают плагин, причем чтобы переместить "кнопочку" из одного места в другое, достаточно найти участок кода, вырезать, затем вставить куда нужно, и довести красоту стилями.

А в WooCommerce все гораздо сложнее. Плагин обращается к виджету, виджет к нескольким php файлам, а те, в свою очередь, и еще куда-то. Сплошная круговая порука. Из-за этого "кнопочки", как и другие улучшения довольно проблематично делать. Попробуй разберись "ху их ху"! :confused: Я вот тут пытался в плагине WooCommerce Cart Tab сдвинуть кнопочки снизу-вверх. Зачем спрашивается? А все дело в том, что плавающая корзина реализована плавающими панелями. Если заказов 1,2,... - то все нормуль, а если 10-ть, 20-ть - то нижняя часть панели вместе с кнопочками уйдет за видимую часть экрана, и как бы клиент не старался, как бы не скроллил, ничего у него не выйдет.

Логичным было бы решение сдвинуть кнопочки вверх, чтобы независимо от количества товаров клиент мог бы нажать на заветную кнопочки, и все таки перейти в корзину. Оказалось, что сдвинуть кнопички в плагине нельзя, поскольку их там банально нет!!! :p Плагин берет кнопочки из виджета WooCommerce. Можно, конечно сдвинуть все в виджете, но и это не просто, т.к. виджет для вывода кнопочек к каким-то файлам ядра обращается. А если даже и докопаться до истины, и все таки сдвинуть кнопочки вверх, то кнопочки везде едут вверх, где надо и не надо, поскольку эти файлы ядра и кнопочки много где еще задействованы.
Вот эта сторона WooCommerce мне категорически не нравится. :mad: Может с профессиональной точки зрения разработчики все правильно сделали и так лучше (или быстрее, или что-то еще), но разобраться во всех этих хитросплетениях ой как не просто...:(
 
Последнее редактирование модератором:

Валерий

Специалист
#15
ОДИН ИЗ ВАРИАНТОВ РЕШЕНИЯ ВСТАВКИ ПЕРЕКЛЮЧАТЕЛЯ CRIG/LIST TOGGLE СПРАВА ОТ ТАЙТЛА СТРАНИЦЫ

Проанализировал я тему Bazar. Что могу сказать: там есть и хуки, и скрипты и .php файлы, отвечающие за работу переключателя. Но вот сама вставка переключателя осуществляется довольно тривиально: в коде шаблона имеется общий контейнер, где заключены тайтл (в виде тега <h1>), и переключатель (в виде обычного тега <p>, то есть параграфа. А дальше они выровнены стилями и <h1> - зафлоучен влево, а <p> - зафлоучен вправо. Мудрить не стал, и решил сделать также, но поскольку в самом шаблоне у меня ничего нет, а есть только подключение woocommerce, внес изменения прямо в исходники WooCommerce. Выкладываю подробное описание, может кому пригодится... ;)

ЭТАПЫ ПЕРЕМЕЩЕНИЯ ПЕРЕКЛЮЧАТЕЛЯ:

1) Активируем плагин WooCommerce Grid / List toggle. Получаем вот такую картину:

grid-list-toggle-1.png

Заходим в файл плагина grid-list-toggle.php и заменяем "30" на "0" в строке, показанной на картинке:

grid-list-toggle-2.png
Добавляем в css файл вашей темы еще один стиль (можно дополнить стиль самого плагина), который выравнивает переключатель по правому краю:

grid-list-toggle-4.png

Страница приобретает следующий вид:

grid-list-toggle-3.png

Идем дальше, находим в файле плагина grid-list-toggle.php кусок кода, отвечающий за вставку переключателя (он выглядит, как показано на картинке внизу)

grid-list-toggle-8.png
и вставляем его в файл woocommerce-template.php (этот файл находится в папке плагина woocommerce) перед тегом h1

grid-list-toggle-5.png
То есть кусок первоначального кода файла woocommerce-template.php будет выглядеть так:

grid-list-toggle-6.png
После внесения изменений страница будет иметь два переключателя: один - правильный (там где надо), а один - на всякий случай! :D

grid-list-toggle-7.png
И последний штрих: удаляем кусок кода вставки переключателя в самом плагине. В итоге получаем тот вид, который изначально и был нужен :D :D :D:

grid-list-toggle-9.png
У описанного метода есть недостаток, а именно: после обновления WooCommerce вставка кода переключателя плагина затрется в файле woocommerce-template.php, и придется вставлять код еще раз в обновленную версию WooCommerce. :( Лично для меня - это не проблема. Но если у кого-то есть более продвинутые варианты решения данной задачи, опишите подробное решение в комментариях. Думаю найдется еще не мало желающих вставить кнопку переключателя справа от названия страницы, и ваше решение пригодится многим... ;)
 
Статус
В этой теме нельзя размещать новые ответы.