Re: [offtop] ctpp 2.8 и пустые контекстные переменные __key__ и __size__

Алексей Сундуков public-mail at alekciy.ru
Thu Apr 4 16:58:56 UTC 2013


4 апреля 2013 г., 19:12 пользователь Влад Максимов <vladsm at mail.ru> написал:
> Насколько удалось выяснить:
>
> __size__ вообще нету, т.е. упоминание его --  косяк в CHANGES

В смысле, что предполагалось, что __size__ не будет? Я просто пытался
разобраться по исходнику, но скудные познания в С++ не позволили
разобраться в них. А контекст получился такой, что нужен либо __size__
либо __last__=1 когда итерация только одна:

[root at mail testdata]# cat items.json
{
        'EMPLOYEE_INFO': [
                { 'NAME': "Вася Пупки",    'JOB': "Учитель" }
        ]
}
[root at mail testdata]# /opt/ctpp2/2.8.2/bin/ctpp2vm items.ct2 items.json
WARNING: [limit of steps] not set, use default value of 10240
<table width="100%">

    <tr>
        <td>#:
                        first=1,
                        last=,
                        index=0,
                        key=,
                        inner=,
                        odd=1,
                        even=,
                        size=
                </td>
        <td>Имя: Вася Пупки</td>
        <td>Должность: Учитель</td>
    </tr>

</table>

Сейчас выходит так, что при генерации ul/li списка не получается
задать класс для последнего элемента если итерация одна, т.к. в
шаблоне мы не знаем что это одновременно первый и последний элемент.
Вопрос пока решил css-ом с псевдоклассами, но хочется и работающего
решения на уровне шаблонизатора.


Подробная информация о списке рассылки nginx-ru