Closed andreizanik closed 10 years ago
У пользователей, которые могут писать ответы - один шаблон комментариев, у которых не могут - другой.
Зачем нужен еще третий?
Если гости могут писать комментарии они автоматически получают возможность отвечать на чужие комментарии, потому что они видят такой же шаблон как авторизированные пользователи. Если не нужно что бы гости имели возможность писать ответы может понадобиться третий шаблон. Так же при $allowGuest=1 становится бессмысленно передавать параметр tplCommentGuest, т.к. он просто игнорируется.
Если гости могут писать комментарии они автоматически получают возможность отвечать на чужие комментарии
Естественно. Так и будет.
Если не нужно что бы гости имели возможность писать ответы может понадобиться третий шаблон.
А если захочется, чтобы гости могли писать ответы только по пятницам и в третьем уровне вложения - еще 10 чанков сделать?
Есть фильтры ввода-вывода, есть CSS, есть события перед созданием комментария. Все можно настроить, при желании.
Так же при $allowGuest=1 становится бессмысленно передавать параметр tplCommentGuest, т.к. он просто игнорируется.
Естественно, если гостю разрешено комментировать, то этот чанк использоваться не будет. А если запрещено - будет.
Для того и нужны условия, чтобы проверить и определить, как работать.
При $allowGuest=1 не было возможности использовать разные шаблоны комментариев для авторизированных пользователей и гостей. !empty($allowGuest) всегда был тру и поэтому $tpl всегда равен $tplCommentAuth. Предполагается что если гостям разрешено комментировать, то ответить они могут и им надо показывать тот же самый шаблон что и авторизированным. Введение нового параметра добавит возможности использовать разные шаблоны при allowGuest=1, без вмешательство в код сниппета. Если же $allowGuest=0, то параметр anotherTemplat не имеет смысла, и поэтому в условии принудительно устанавливаем $anotherTemplate = 0, независимо от того передан ли сниппету anotherTemplate.