XF 2.2 XF\CssRenderException: Error rendering template public:structured_list.less: variable @_structItem-avatarSize is undefined in file public:structured_l

Версия XenForo
v2.2.3 Patch 1

Юрок_34рег

Проверенные
Сообщения
108
Реакции
23
Баллы
1,715
Доброго времени суток,подскажите что сломалось
Код:
Трассировка стека
 4044 |             .structItem-cell + &
 4045 |             {
 4046 |                 padding-left: 0;
*4047*|                 width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH));
 4048 |             }
 4049 |         }
 4050 |
------------

#0 src/XF/CssRenderer.php(416): XF\CssRenderException::createFromLessException(Object(Less_Exception_Compiler), 'public:structur...', '// Note that th...')
#1 src/XF/CssRenderer.php(350): XF\CssRenderer->renderToCss('public:structur...', '// Note that th...')
#2 src/XF/CssRenderer.php(258): XF\CssRenderer->renderTemplate('public:structur...', NULL)
#3 src/XF/CssRenderer.php(116): XF\CssRenderer->renderTemplates(Array, Array, Array)
#4 src/XF/CssWriter.php(53): XF\CssRenderer->render(Array)
#5 css.php(30): XF\CssWriter->run(Array, 33, 2, 'dc8c8ed10c67d9d...')
#6 {main}

-------------

Previous Less_Exception_Compiler: variable @_structItem-avatarSize is undefined in file anonymous-file-764.less in anonymous-file-764.less - src/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php:49
#0 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Variable->compile(Object(Less_Environment))
#1 src/vendor/oyejorge/less.php/lib/Less/Tree/Operation.php(30): Less_Tree_Expression->compile(Object(Less_Environment))
#2 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Operation->compile(Object(Less_Environment))
#3 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Expression->compile(Object(Less_Environment))
#4 src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php(27): Less_Tree_Expression->compile(Object(Less_Environment))
#5 src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php(75): Less_Tree_Value->compile(Object(Less_Environment))
#6 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Rule->compile(Object(Less_Environment))
#7 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Ruleset->compile(Object(Less_Environment))
#8 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Ruleset->compile(Object(Less_Environment))
#9 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Ruleset->compile(Object(Less_Environment))
#10 src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php(67): Less_Tree_Ruleset->compile(Object(Less_Environment))
#11 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Media->compile(Object(Less_Environment))
#12 src/vendor/oyejorge/less.php/lib/Less/Parser.php(199): Less_Tree_Ruleset->compile(Object(Less_Environment))
#13 src/XF/CssRenderer.php(412): Less_Parser->getCss()
#14 src/XF/CssRenderer.php(350): XF\CssRenderer->renderToCss('public:structur...', '// Note that th...')
#15 src/XF/CssRenderer.php(258): XF\CssRenderer->renderTemplate('public:structur...', NULL)
#16 src/XF/CssRenderer.php(116): XF\CssRenderer->renderTemplates(Array, Array, Array)
#17 src/XF/CssWriter.php(53): XF\CssRenderer->render(Array)
#18 css.php(30): XF\CssWriter->run(Array, 33, 2, 'dc8c8ed10c67d9d...')
#19 {main}
Содержимое запроса
array(4) {
  ["url"] => string(210) "/css.php?css=public%3Anode_list.less%2Cpublic%3Aprefix_menu.less%2Cpublic%3Astructured_list.less%2Cpublic%3Aznl_loader.less%2Cpublic%3Aextra.less&s=33&l=2&d=1615300817&k=dc8c8ed10c67d9dcdf6d6a0bb39d1f81f55c3aeb"
  ["referrer"] => string(59) "https://world-gaming.su/forums/chity-dlja-world-of-tanks.8/"
  ["_GET"] => array(5) {
    ["css"] => string(114) "public:node_list.less,public:prefix_menu.less,public:structured_list.less,public:znl_loader.less,public:extra.less"
    ["s"] => string(2) "33"
    ["l"] => string(1) "2"
    ["d"] => string(10) "1615300817"
    ["k"] => string(40) "dc8c8ed10c67d9dcdf6d6a0bb39d1f81f55c3aeb"
  }
  ["_POST"] => array(0) {
  }
}

Для просмотра этого контента нам потребуется ваше согласие на установку файлов cookie третьих лиц.
Более подробную информацию можно найти на нашей странице cookie.
 
Юрок_34рег, В extra.less когда делали правки, поставил лишнюю кавычку, или то что последнее там меняли неправильно сделали
 
Последнее редактирование:
Доброго времени суток,подскажите что сломалось
Код:
Трассировка стека
4044 |             .structItem-cell + &
4045 |             {
4046 |                 padding-left: 0;
*4047*|                 width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH));
4048 |             }
4049 |         }
4050 |
------------

#0 src/XF/CssRenderer.php(416): XF\CssRenderException::createFromLessException(Object(Less_Exception_Compiler), 'public:structur...', '// Note that th...')
#1 src/XF/CssRenderer.php(350): XF\CssRenderer->renderToCss('public:structur...', '// Note that th...')
#2 src/XF/CssRenderer.php(258): XF\CssRenderer->renderTemplate('public:structur...', NULL)
#3 src/XF/CssRenderer.php(116): XF\CssRenderer->renderTemplates(Array, Array, Array)
#4 src/XF/CssWriter.php(53): XF\CssRenderer->render(Array)
#5 css.php(30): XF\CssWriter->run(Array, 33, 2, 'dc8c8ed10c67d9d...')
#6 {main}

-------------

Previous Less_Exception_Compiler: variable @_structItem-avatarSize is undefined in file anonymous-file-764.less in anonymous-file-764.less - src/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php:49
#0 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Variable->compile(Object(Less_Environment))
#1 src/vendor/oyejorge/less.php/lib/Less/Tree/Operation.php(30): Less_Tree_Expression->compile(Object(Less_Environment))
#2 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Operation->compile(Object(Less_Environment))
#3 src/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Expression->compile(Object(Less_Environment))
#4 src/vendor/oyejorge/less.php/lib/Less/Tree/Value.php(27): Less_Tree_Expression->compile(Object(Less_Environment))
#5 src/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php(75): Less_Tree_Value->compile(Object(Less_Environment))
#6 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Rule->compile(Object(Less_Environment))
#7 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Ruleset->compile(Object(Less_Environment))
#8 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Ruleset->compile(Object(Less_Environment))
#9 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Ruleset->compile(Object(Less_Environment))
#10 src/vendor/oyejorge/less.php/lib/Less/Tree/Media.php(67): Less_Tree_Ruleset->compile(Object(Less_Environment))
#11 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Media->compile(Object(Less_Environment))
#12 src/vendor/oyejorge/less.php/lib/Less/Parser.php(199): Less_Tree_Ruleset->compile(Object(Less_Environment))
#13 src/XF/CssRenderer.php(412): Less_Parser->getCss()
#14 src/XF/CssRenderer.php(350): XF\CssRenderer->renderToCss('public:structur...', '// Note that th...')
#15 src/XF/CssRenderer.php(258): XF\CssRenderer->renderTemplate('public:structur...', NULL)
#16 src/XF/CssRenderer.php(116): XF\CssRenderer->renderTemplates(Array, Array, Array)
#17 src/XF/CssWriter.php(53): XF\CssRenderer->render(Array)
#18 css.php(30): XF\CssWriter->run(Array, 33, 2, 'dc8c8ed10c67d9d...')
#19 {main}
Содержимое запроса
array(4) {
  ["url"] => string(210) "/css.php?css=public%3Anode_list.less%2Cpublic%3Aprefix_menu.less%2Cpublic%3Astructured_list.less%2Cpublic%3Aznl_loader.less%2Cpublic%3Aextra.less&s=33&l=2&d=1615300817&k=dc8c8ed10c67d9dcdf6d6a0bb39d1f81f55c3aeb"
  ["referrer"] => string(59) "https://world-gaming.su/forums/chity-dlja-world-of-tanks.8/"
  ["_GET"] => array(5) {
    ["css"] => string(114) "public:node_list.less,public:prefix_menu.less,public:structured_list.less,public:znl_loader.less,public:extra.less"
    ["s"] => string(2) "33"
    ["l"] => string(1) "2"
    ["d"] => string(10) "1615300817"
    ["k"] => string(40) "dc8c8ed10c67d9dcdf6d6a0bb39d1f81f55c3aeb"
  }
  ["_POST"] => array(0) {
  }
}

Для просмотра этого контента нам потребуется ваше согласие на установку файлов cookie третьих лиц.
Более подробную информацию можно найти на нашей странице cookie.
В шаблоне structured_list.less не определена переменная @_structItem-avatarSize
По дефолту она определяется в первой строке данного шаблона
@_structItem-avatarSize: 36px;
 
В шаблоне structured_list.less не определена переменная @_structItem-avatarSize
По дефолту она определяется в первой строке данного шаблона
@_structItem-avatarSize: 36px;
Код:
// @_structItem-avatarSize: 36px;
// @_structItem-avatarSizeExpanded: 48px;
@_structItem-avatarSizeEnd: @avatar-xxs;
@_structItem-cellPaddingH: @xf-nlStructItemPaddingH;
@_structItem-cellPaddingV: @xf-nlStructItemPaddingV;



.structItemContainer
{
    .xf-nlStructItemListContainer();
    
    .structItem:not(form):hover, .structItem:not(form):nth-of-type(even):hover {
        .xf-nlStructItemHover();
    }
}
.alternateNodes .structItemContainer
{
    .structItem:nth-of-type(even) {
        .xf-nlStructItemAlternate();
    }
}

.structItemContainer-group
{

}

.structItemContainer > .structItem:first-child,
.structItemContainer > .structItemContainer-group:first-child > .structItem:first-child
{
    border-top: none;
}

.structItem
{
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    .xf-nlStructItem();

    &.is-highlighted,
    &.is-moderated
    {
        background: @xf-contentHighlightBg;
    }

    &.is-deleted
    {
        opacity: .7;

        .structItem-title > *
        {
            text-decoration: line-through;
        }
    }

    &.is-mod-selected
    {
        background: @xf-inlineModHighlightColor;
        opacity: 1;
    }
}

.structItem-cell
{
    display: table-cell;
    vertical-align: top;
    .xf-nlStructItemCell();
    
    .structItem--middle &
    {
        vertical-align: middle;
    }

    &.structItem-cell--vote
    {
        width: (40px + (@_structItem-cellPaddingH) * 2);
    }

    &.structItem-cell--icon
    {
        position: relative;
        width: ((@xf-nlStructItemAvatarSize) + (@xf-nlStructItemPaddingH) * 2);
        .xf-nlStructItemCellIcon();

        &.structItem-cell--iconExpanded
        {
            width: ((@xf-nlStructItemAvatarSizeExpanded) + (@xf-nlStructItemPaddingH) * 2);
        }

        &.structItem-cell--iconEnd
        {
            width: ((@_structItem-avatarSizeEnd) + (@_structItem-cellPaddingH) * 2);
            padding-left: @_structItem-cellPaddingH / 2;

            .structItem-iconContainer
            {
                padding-top: @xf-paddingMedium;
            }
        }

        &.structItem-cell--iconFixedSmall
        {
            width: (60px + (@xf-nlStructItemPaddingH) * 2);
        }

        &.structItem-cell--iconFixedSmallest
        {
            width: ((@_structItem-avatarSizeEnd) + (@_structItem-cellPaddingH) * 2);
        }

        .solutionIcon
        {
            padding-left: 0;
            padding-right: 0;
        }
    }
    &.structItem-cell--main
    {
        .xf-nlStructItemCellMain();
    }
    &.structItem-cell--meta
    {
        width: 120px;
        .xf-nlStructItemCellMeta();
    }

    &.structItem-cell--latest
    {
        .xf-nlStructItemCellLatest();
    }
}

.structItem-iconContainer
{
    position: relative;

    img
    {
        display: block;
        width: 100%;
    }

    .avatar
    {
        .m-avatarSize(@xf-nlStructItemAvatarSize);

        &.avatar--xxs
        {
            .m-avatarSize(@_structItem-avatarSizeEnd);
        }
    }

    .structItem-secondaryIcon
    {
        position: absolute;
        right: -5px;
        bottom: -5px;

        .m-avatarSize(@xf-nlStructItemAvatarSize / 2  + 2px);
    }

    .structItem-cell--iconExpanded &
    {
        .avatar
        {
            .m-avatarSize(@xf-nlStructItemAvatarSizeExpanded);
        }

        .structItem-secondaryIcon
        {
            .m-avatarSize(@xf-nlStructItemAvatarSizeExpanded / 2 - 2px);
        }
    }
}

.structItem-title
{
    font-size: @xf-fontSizeLarge;
    font-weight: @xf-fontWeightNormal;
    margin: 0;
    padding: 0;
    .xf-nlStructItemTitle();
    
    a {
        color: @xf-nlStructItemTitle--color;
    }

    .label
    {
        font-weight: @xf-fontWeightNormal;
    }

    .is-unread &
    {
        font-weight: @xf-fontWeightHeavy;
    }
}

.structItem-minor
{
    font-size: @xf-fontSizeSmaller;
    color: @xf-textColorMuted;

    .m-hiddenLinks();
}

.structItem-parts
{
    .m-listPlain();
    display: inline;

    > li
    {
        display: inline;
        margin: 0;
        padding: 0;

        &:nth-child(even)
        {
            color: @xf-textColorDimmed;
        }

        &:before
        {
            content: "\00B7\20";
        }

        &:first-child:before
        {
            content: "";
            display: none;
        }
    }
}

.structItem-pageJump
{
    margin-left: 8px;
    font-size: @xf-fontSizeSmallest;

    a
    {
        .xf-chip();
        text-decoration: none;
        border-radius: @xf-borderRadiusSmall;
        padding: 0 3px;
        opacity: .5;
        .m-transition();

        .structItem:hover &,
        .has-touchevents &
        {
            opacity: 1;
        }

        &:hover
        {
            text-decoration: none;
            .xf-chipHover();
        }
    }
}

.structItem-statuses,
.structItem-extraInfo
{
    .m-listPlain();
    float: right;

    > li
    {
        float: left;
        margin-left: 8px;
    }

    input[type=checkbox]
    {
        .m-checkboxAligner();
    }
}

.structItem-statuses .reactionSummary
{
    vertical-align: -2px;
}

.structItem-extraInfo .reactionSummary
{
    vertical-align: middle;
}

.structItem-status
{
    &::before
    {
        .m-faBase();
        display: inline-block;
        font-size: 90%;
        color: @xf-textColorMuted;
    }

    &--deleted::before { .m-faContent(@fa-var-trash-alt, .875em); }
    &--locked::before { .m-faContent(@fa-var-lock, .875em); }
    &--moderated::before { .m-faContent(@fa-var-shield, 1em); color: @xf-textColorAttention; }
    &--redirect::before { .m-faContent(@fa-var-external-link, 1em); }
    &--starred::before { .m-faContent(@fa-var-star, 1.125em); color: @xf-starFullColor; }
    &--sticky::before { .m-faContent(@fa-var-thumbtack, .75em); }
    &--watched::before { .m-faContent(@fa-var-bell, .875em); }

    &--solved::before { .m-faContent(@fa-var-check-circle, 1em); color: @xf-votePositiveColor; }
    &--attention::before { .m-faContent(@fa-var-bullhorn, 1.125em); color: @xf-textColorAttention; }
    &--upvoted::before { .m-faContent(@fa-var-thumbs-up, 1em); }
    &--downvoted::before { .m-faContent(@fa-var-thumbs-down, 1em); }
}

.structItem.structItem--note
{
    .xf-contentBase();

    .structItem-cell
    {
        padding-top: @xf-nlStructItemPaddingV / 2;
        padding-bottom: @xf-nlStructItemPaddingV / 2;
        font-size: @xf-fontSizeSmaller;
        text-align: center;
    }
}

@media (max-width: @xf-responsiveWide)
{
    .structItem-cell
    {
        vertical-align: top;

        &.structItem-cell--meta
        {
            width: 115px;
            font-size: @xf-fontSizeSmaller;
        }

        &.structItem-cell--latest
        {
            width: 140px;
            font-size: @xf-fontSizeSmaller;
        }
    }
}

@media (max-width: @xf-responsiveMedium)
{
    .structItem-cell
    {
        padding: (@xf-nlStructItemPaddingV) / 2 @xf-nlStructItemPaddingH;

        &.structItem-cell--icon
        {
            .structItem-cell + &
            {
                padding-left: 0;
                width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH));
            }
        }

        &.structItem-cell--main,
        &.structItem-cell--newThread
        {
            display: block;
            padding-bottom: .2em;

            .structItem-cell + &
            {
                padding-left: 0;
            }
        }

        &.structItem-cell--meta
        {
            display: block;
            width: auto;
            float: left;
            padding-top: 0;
            padding-left: 0;
            padding-right: 0;
            color: @xf-textColorMuted;

            .structItem-minor
            {
                display: none;
            }

            .pairs
            {
                > dt,
                > dd
                {
                    display: inline;
                    float: none;
                    margin: 0;
                }
            }
        }

        &.structItem-cell--latest
        {
            display: block;
            width: auto;
            float: left;
            padding-top: 0;
            padding-left: 0;

            &:before
            {
                content: "\00A0\00B7\20";
                color: @xf-textColorMuted;
            }

            a
            {
                color: @xf-textColorMuted;
            }

            .structItem-minor
            {
                display: none;
            }
        }

        &.structItem-cell--iconEnd
        {
            display: none;
        }
    }

    .structItem-pageJump,
    .structItem-extraInfoMinor
    {
        display: none;
    }

    .is-unread .structItem-latestDate
    {
        font-weight: @xf-fontWeightNormal;
    }
}

@media (max-width: @xf-responsiveNarrow)
{
    .structItem-parts
    {
        .structItem-startDate
        {
            display: none;
        }
    }

    .structItem.structItem--quickCreate
    {
        .structItem-cell--icon,
        .structItem-cell--vote
        {
            display: none;
        }

        .structItem-cell--newThread
        {
            padding-left: @_structItem-cellPaddingH;
            padding-bottom: @_structItem-cellPaddingH;
        }
    }
}
 
Последнее редактирование:
Сегодня сделал Авто-Обновление шаблонов
Авто-Объединение делать надо понимая, что делаешь, оно не всегда корректно работает.
У тебя в шаблоне в первой строке объявление этой переменной закомментировано, а в коде дальше она используется, убери двойной слеш в начале строки (лучше и в начале второй строки тоже убери, мало ли ещё где в коде встретится).
Опять же с данной ошибкой поможет, но неизвестно, что будет дальше, что там наобъединялось. Да и правка LESS шаблонов не айс.
 
Последнее редактирование:
Авто-Объединение делать надо понимая, что делаешь, оно не всегда корректно работает.
У тебя в шаблоне в первой строке объявление этой переменной закомментировано, а в коде дальше она используется, убери двойной слеш в начале строки (лучше и в начале второй строки тоже убери, мало ли ещё где в коде встретится).
Опять же с данной ошибкой поможет, но неизвестно, что будет дальше, что там наобъединялось. Да и правка LESS шаблонов не айс.
Благодарю
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу