JS CSS Модификация кнопки пожертвование в CMS Xenforo

memer_faud

Участник
Автор темы
49
13
В этой инструкции я продемонстрирую, как добавить кнопку пожертвований в раздел ресурсов вашего форума XenForo.
Юзер, размещающий материал, сможет указать ссылку для донатов (например, на свой Юмайн кошелек), чтобы другие участники имели возможность отблагодарить его за активность.

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

image.png


Внедряем кастомное поле для пожертвований:

Перемещаемся по следующему адресу:
/admin.php?resource-manager/fields/add
Идентификатор поля: donation_btn
Тип данных: Однострочное текстовое поле
Значения: URL-адрес
Область видимости: Вкладка с дополнительной информацией
Произведите настройку оставшихся параметров по своему усмотрению и сохраните изменения.



Приступаем к созданию изменения.
Отправляемся по следующей ссылке: /admin.php?template-modifications/add
Далее ввод таким образом:
image (2).png


Используем xfrm_resource_view в шаблоне.
Пример можно увидеть на изображении.
Напиишите собственное описание.

Далее спускаемся ниже:
В поле Find (найти) вводим:

Find:
<xf:if is="$resource.hasViewableDiscussion()">
                                    <xf:button href="{{ link('threads', $resource.Discussion) }}" class="button--fullWidth">{{ phrase('xfrm_join_discussion') }}</xf:button>
                                </xf:if>

В поле Replace (Заменить) вставляете этот код:
Repl:
$0
<xf:if is="$resource.custom_fields.donation_btn">
<xf:button href="{$resource.custom_fields.donation_btn}" class="button--cta button--icon button--icon--donate button--fullWidth" target="_blank">Пожертвовать</xf:button>
</xf:if>

Приступаем к созданию второй версии модификации.
В шаблонном файле необходимо указать макросы xfrm_resource_wrapper_macros, как показано на изображении.

image (3).png

Заполнение остальных полей остается за вами.
Затем переместитесь вниз страницы и в текстовое окно "Поиск" введите:
В поле Find (Найти) вставляете

Find:
<xf:if is="$resource.hasExtraInfoTab()">
                            <a class="tabs-tab {{ $selected == 'extra' ? 'is-active' : '' }}" href="{{ link('resources/extra', $resource) }}">{{ phrase('xfrm_extra_info') }}</a>
                        </xf:if>
                        <xf:foreach loop="$resource.getExtraFieldTabs()" key="$fieldId" value="$fieldValue">
                            <a class="tabs-tab {{ $selected == ('field_' . $fieldId) ? 'is-active' : '' }}" href="{{ link('resources/field', $resource, {'field': $fieldId}) }}">{$fieldValue}</a>
                        </xf:foreach>

Поле Replace (Заменить) оставляете пустым.

image (4).png