XF 2.3 Доработка модификации шаблона плагина, делающего иконку ресурса обязательной

Версия XenForo
2.3.11

CHEL74

Проверенные
Сообщения
135
Решения
4
Реакции
35
Баллы
43
Есть плагин для того, чтобы добавление иконки ресурса было обязательным. Основан на модификации шаблона xfrm_resource_edit_icon:

Diff:
<xf:macro id="custom_dependent" arg-id="">
-   <xf:upload name="upload" accept=".gif,.jpeg,.jpg,.jpe,.png,.webp" id="{$id}" />
+   <xf:upload name="upload" required="required" accept=".gif,.jpeg,.jpg,.jpe,.png,.webp" id="{$id}" />
    <dfn class="inputChoices-explain">
        {{ phrase('it_is_recommended_that_you_use_image_that_is_at_least_x_pixels', {
            'width': 100,
            'height': 100
        }) }}
    </dfn>
</xf:macro>

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

Как можно исправить этот момент? Чтобы поле добавления иконки было обязательным только при создании темы.
 
Matew, в теме плагина писал, она мёртвая.

HTML:
<xf:title>{{ phrase('xfrm_resource_icon') }}</xf:title>

<xf:breadcrumb source="$resource.getBreadcrumbs()" />

<xf:form action="{{ link('resources/edit-icon', $resource) }}" upload="true" ajax="true" class="block">
    <div class="block-container">
        <div class="block-body block-row">
            <xf:macro id="icon_edit" arg-resource="{$resource}" />
        </div>
        <xf:submitrow icon="save" rowtype="simple" />
    </div>
</xf:form>

<xf:macro id="icon_edit" arg-resource="!">
    <div class="contentRow">
        <div class="contentRow-figure">
            <span class="contentRow-figureIcon">{{ resource_icon($resource, 'm') }}</span>
        </div>
        <div class="contentRow-main">
            <xf:if is="$resource.icon_date">
                <xf:radio name="icon_action" value="custom">
                    <xf:option value="custom" label="{{ phrase('xfrm_upload_custom_icon:') }}">
                        <xf:macro id="custom_dependent" />
                    </xf:option>

                    <xf:if is="$resource.icon_date">
                        <xf:option value="delete">{{ phrase('xfrm_delete_current_icon') }}</xf:option>
                    </xf:if>
                </xf:radio>
            <xf:else />
                <xf:set var="$uploadId" value="{{ unique_id() }}" />
                <label for="{$uploadId}">{{ phrase('xfrm_upload_new_icon:') }}</label>
                <xf:macro id="custom_dependent" arg-id="{$uploadId}" />
                <xf:hiddenval name="icon_action">custom</xf:hiddenval>
            </xf:if>
        </div>
    </div>
</xf:macro>

<xf:macro id="custom_dependent" arg-id="">
    <xf:upload name="upload" accept=".gif,.jpeg,.jpg,.jpe,.png,.webp" id="{$id}" />
    <dfn class="inputChoices-explain">
        {{ phrase('it_is_recommended_that_you_use_image_that_is_at_least_x_pixels', {
            'width': 100,
            'height': 100
        }) }}
    </dfn>
</xf:macro>
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу