This is the code that sets the property:
{{#set:Описание модели={{{!}} class="oritable" width="100%" {{!}}- {{!}}{{#if:{{{шагов|}}}|({{{шагов|}}})|}} ''{{{название модели|}}}'' {{#if:{{{opus|}}}|(op.{{{opus|}}}{{#if:{{{ver_opus|}}}| v.{{{ver_opus|}}}|}}{{#if:{{{num_opus|}}}|-{{{num_opus|}}}|}})|}} {{#if: {{{konkurs|}}}|([[{{{konkurs|}}}{{!}}{{{num_tur|}}} тур]])|}} {{!}}- {{!}}{{#if:{{{источник|}}}|[[{{{источник|}}}]]|~ ~ ~}} {{#if:{{{страница|}}}|(стр.{{{страница|}}})}} {{#if:{{{источники|}}}|{{!}}- {{!}} & ({{#arraymap:{{{источники|}}}|,|x|[[x]]}})}} {{#if:{{{автор|}}}|{{!}}- {{!}}[[{{{автор|}}}]]}} {{#if:{{{addtomodel|}}}|{{!}}- {{!}}({{{addtomodel|}}}{{#if:{{{formattomodel|}}}| + {{{formattomodel|}}}}})|}} {{!}}} }}
It is called from within a template hence the named parametres.
This wikicode is almost undebuggable. Sir, I can only suggest:
- copy it into a separate template, check its calls with different combinations of empty and non-empty parametres, and comment out fragments of the template (using binary search) until the source of trouble is found;
- replace wiki markup for the table with pure HTML;
- upgrade to the last stable versions of MW and SMW.
Thanks for reply!
1. First, I am upgrade wiki to v.1.20 and SMW to 1.8. - my query not displayed. Now I use on local SMF 1.7.1
2. Yes, I did it. And find problem with parser
{{#set:Описание модели= ''{{{название модели|}}}'' }} - work is good
{{#set:Описание модели= {{#if:{{{var|}}}|({{{var|}}})|}} ''{{{название модели|}}}'' }} - not worked. Property is empty.
If you have SMW > 1.7 - Can you check it out with parser function {{#if:{{{var|}}}|({{{var|}}})|}}
Thanks
If {{{название модели|}}} is empty, the apostrophes are interpreted as ''' ' and therefore unbalanced. Try replacing them with <em>. Not that I hope it would help (in a wiki I checked it in, the property was set anyway).
You could also try to replace emptyness in the else branch of the {{#if:}} call with a space or, better, <nowiki></nowiki>. {{#set:}} might break on empty substrings.
Worst of all, {{#set:}} may be called before {{#if:}}, not after as expected.
Видно, мне это не по силам сообразить. Перепробовал массу вариантов, и последовательно обновлял вики и SMF. Не сочтите за наглость - обратился к вам за помощью через http://www.formspring.me.
Попробую еще убрать апострофы.
Anyway, look here. It works. So I recommend to upgrade anyway (don't forget to run the upgrade scripts for MW and SMW).
Действительно, работает. Большое спасибо. Я обновляю как раз-таки через web-интерфейс. Видимо в этом и кроется пробема. А по другому у меня не получится - я делаю все на локалке (windows). Или можно как-то по другому обновить (руководство по обновлению читал)
Тогда учтите, что семантические данные обновляются не мгновенно, а посредством рабочих заданий, что может привести ко временному отсутствию результатов в запросах SMW, пока данные не перегенерируются. Кстати, недавно в этой вики обсуждался вопрос (ссылки не могу найти) обновления, когда доступен только веб-интерфейс. Кажется, написали даже страницу справки. У кого-то тоже были затруднения.
Вообще, для полноценного администрирования вики его недостаточно. Подумайте об организации доступа через удалённый рабочий стол или по telnet.
В том то и дело. После обновления мои старые свойства сохраняются. Как только я делаю правку на модели - свойство обновляется и становится пустым. Ну и результат вы можете видеть сверху.
Про обновления - я так и делаю. Уже месяц вожусь с этим обновлением. Только сегодня вот решил спросить, мало надеясь, что ответят ).
Взгляните сюда.