Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Изменение html-разметки вкладки личного кабинета
5ответ(ов) в теме
smart_trading_user
не в сети 5 лет
На сайте с 26.04.2019
Участник
Тем 6
Сообщения 20
1
00:11
Версия WP-Recall: 16.17.11

Здравствуйте, такой вопрос...Сейчас "дерево" DOM вкладки личного кабинета выглядит так span > a > i ( см. скрин

Вы не можете просматривать опубликованные ссылки

)

А можно ли как-нибудь переместить иконку "i" из тега "a" и вынести её "наружу" как показано на скрине. Очень нужно это сделать. Стилями "кастомизовать" данную кнопку под мою собственную вёрстку не выходит так, чтобы было красиво и чтобы долго не переписывать стили под новую разметку (долго объяснять почему, но уж поверьте на слово - опыт вёрстки у меня очень приличный).

Если же делать это средствами JS (я сейчас так и сделал) - это помогает естественно, но каждый раз есть небольшое "подёргивание" после первой загрузки кабинета. Оно и логично, что так будет - скрипт срабатывает уже после загрузки дерева DOM, перемещая тег куда нужно. И это перемещение визуально видно в виде "подёргивания". Хотя, если ничего не придумаю более быстрого, то оставлю это решение на JS - только поставлю на сайт "загрузчик" (preloader) для скрытия этого неприятного эффекта.

Однако, где мне найти данную разметку вкладки в файлах? Реально ли самостоятельно изменить её? Мне много то и не нужно. Всего лишь достать эту чёртову иконку из тега "a".... Неужто разметка где-то в ядре движка всё сформирована и находится в БД...Обидно..😕

P.S. Я то может и решил бы эту проблему средствами CSS, но там у меня сложновато всё устроено в плане вёрстки вкладок (эффекты наведения замудрёные)...

Редакции сообщения
10.06.2019 00:11smart_trading_userПричина: не указано
10.06.2019 00:12smart_trading_userПричина: не указано
10.06.2019 00:12smart_trading_userПричина: не указано
10.06.2019 00:13smart_trading_userПричина: не указано
10.06.2019 00:14smart_trading_userПричина: не указано
10.06.2019 00:15smart_trading_userПричина: не указано
10.06.2019 00:16smart_trading_userПричина: не указано
10.06.2019 00:17smart_trading_userПричина: не указано
10.06.2019 00:17smart_trading_userПричина: не указано
10.06.2019 00:18smart_trading_userПричина: не указано
10.06.2019 00:20smart_trading_userПричина: не указано
10.06.2019 00:22smart_trading_userПричина: не указано
10.06.2019 00:24smart_trading_userПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
2
09:00

Добрый день.
Если я дам вам пути решения, то об обновлениях плагина можно забыть, вы к этому готовы?
С php у вас опыт есть?

0
smart_trading_user
не в сети 5 лет
На сайте с 26.04.2019
Участник
Тем 6
Сообщения 20
3
09:49

Андрей CS сказал(а)
Добрый день.
Если я дам вам пути решения, то об обновлениях плагина можно забыть, вы к этому готовы?
С php у вас опыт есть?

Да, дайте пожалуйста это решение. Не факт, что 100% буду его использовать, если оно уж слишком замудрёное окажется. Но опыт с PHP есть - пусть и не очень высокий (я больше по JS), но я более-менее владею ООП: имею представления об объектах, классах, функциях-конструкторах, могу написать несложные SQL-запросы в базу, вывести что-то из неё и т. д., знаю всё о конкатенации строк в PHP и всё в таком роде. В общем, как минимум - база есть. Если этого достаточно будет для изменения разметки кнопки - то точно разберусь.

Я понимаю, что после этого есть вероятность, что могут начаться или быть ошибки после обновления чего-то или в связке с другими плагинами, но я буду тогда точно знать, что проблемы могут заключаться именно в этом. Я предупрежу всех, чтобы плагин не обновлял никто и никогда (P. S. кстати, а можно ли как-то поставить запрет на это, чтобы даже кнопки "Обновить" не было видно?)

Подскажите пожалуйста решение и я буду знать - применять его или нет (не будет ли оно слишком замудрёным). Я не буду использовать это решение, если вдруг буду видеть, что чего-то не понимаю в нём или оно окажется слишком сложным. А если буду - то только на свой страх и риск.

Редакции сообщения
10.06.2019 09:50smart_trading_userПричина: не указано
10.06.2019 09:51smart_trading_userПричина: не указано
10.06.2019 09:53smart_trading_userПричина: не указано
10.06.2019 09:53smart_trading_userПричина: не указано
10.06.2019 09:54smart_trading_userПричина: не указано
10.06.2019 09:54smart_trading_userПричина: не указано
10.06.2019 09:55smart_trading_userПричина: не указано
10.06.2019 10:01smart_trading_userПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
4
10:39

в файле /wp-content/plugins/wp-recall/classes/class-rcl-tab.php на строке 167 будет

$html_button = rcl_get_button(
                $name,
                $link,
                array(
                    'class'=>$this->get_class_button(),
                    'icon'=> $icon,
                    'attr'=>'data-post='.rcl_encode_post($datapost)
                )
            );

этот код формирует основные кнопки личного кабинета, тег а и все что внутри, можете использовать данные которые передаются в функцию rcl_get_button() для построения своей кнопки

либо в файле /wp-content/plugins/wp-recall/rcl-functions.php на строке 890 будет функция rcl_get_button() со всем своим содержимым, эта функция используется внутри плагина для построения кнопок плагина не только в личном кабинете, можете внести изменения в верстку кнопки изменив содержимое этой функции

0
smart_trading_user
не в сети 5 лет
На сайте с 26.04.2019
Участник
Тем 6
Сообщения 20
5
10:47

Понял. Спасибо вам большое!

0
Вы не имеете права на публикацию сообщений в этой теме