Права гостей в 2.X

#31 13 января 2015 в 18:35
Если честно, я вообще не знаю о чем думали разработчики когда решили полностью исключить группу гостей. Лично я не встречал такого ни в одной системе из тех, с которыми мне приходилось работать.

У меня сайт уже почти готов, уже собирался заливать на хостинг, как вдруг обнаружил следующее:

Если пользователь не зарегистрирован, то он не видит ни одной подсказки или призыва к регистрации, кроме ссылки "Регистрация".

Например, при просмотре статьи (если пользователь не зарегистрирован) внизу имеется надпись.
"Нет комментариев. Ваш будет первым!"
И все!!! Я конечно пойму что для того чтобы оставить комментарий, нужно зарегистрироваться. Но, не все такие. Бывают посетители в возрасте, которые кроме одноклассников ничего больше не освоили. Да и среди молодежи тупней хватает.

Почему нельзя было сделать так же как в первой ветке, т.е. ссылку Оставить комментарий при нажатии на которую появлялся бы текст "Оставлять комментарии могут только зарегистрированные пользователи. Зарегистрироваться?" ??? Я сегодня был буквально ошарашен этим косяком, по другому и не скажешь.

Конечно, можно разрешить оставлять комментарии незарегистрированным пользователям (в последней версии такая возможность имеется), но форма комментариев без капчи приведет к тоннам спама.

Кроме этого, изначально я добавил кнопку "добавить объявление" в заголовок виджета. Так сказать чтобы было повиднее, а то не до каждого доходит где эту кнопку искать. В дальнейшем планировал вообще сделать отдельную кнопку в шапке сайта (на самом видном месте).
Так вот, сделал кнопку, думая что как и в любой нормальной системе, если на такую кнопку нажмет незарегистрированный пользователь, то появится страница с предложением зарегистрироваться. Но, я офигел по второму кругу когда вместо такой страницы увидел страницу 404.


Что теперь делать, даже не знаю. Сайт уже почти готов, а я сижу и жалею что вообще решил делать сайт на двойке. лучше бы на вордпресс сделал.

Может быть кто-нибудь знает как исправить те недоработки, которые я указал? Буду премногоблагодарен
#32 13 января 2015 в 18:39
m0skit, вручную разве что только, если есть немного знаний php я думаю это не трудно будет сделать
#33 13 января 2015 в 18:42

m0skit, вручную разве что только, если есть немного знаний php я думаю это не трудно будет сделать

Jestik

Да я понимаю что не на автопилоте joke
Но, к сожалению, с PHP я не знаком на таком уровне. Я больше CSS специализируюсь
#34 13 января 2015 в 20:50


m0skit, вручную разве что только, если есть немного знаний php я думаю это не трудно будет сделать

Jestik

Да я понимаю что не на автопилоте joke
Но, к сожалению, с PHP я не знаком на таком уровне. Я больше CSS специализируюсь

m0skit

Для создания ссылки, которая будет вести в зависимости от того залогинен пользователь или нет на разные страницы можно такоое использовать (за то насколько это костыльно ничего не скажу):
  1.  
  2. <a href="<?php echo href_to_home(); ?>
  3. <?php if ($user->is_logged){ ?>/ctype/add<?php } else {?>/register<?php } ?>">
  4. <?php echo LANG_TEXT; ?>
  5. </a>
  6.  
LANG_TEXT прописывается в языковых файлах и собственно является текстом ссылки;
ctype/add ссылка на добавление контента если пользователь залогинен;
/register ссылка на регистрацию во всех остальных случаях;
href_to_home() подставляет адрес сайта, можно и статикой заменить в принципе.

Если начнет ругаться на то, что не знает переменной $user то вначале файла шаблона с кнопкой воткнуть определение (за безопасность и безкостыльность такого решения опять же не скажу):
  1.  
  2. <?php
  3. $user = cmsUser::getInstance();
  4. ?>
  5.  
#35 14 января 2015 в 03:14

Для создания ссылки, которая будет вести в зависимости от того залогинен пользователь или нет на разные страницы можно такоое использовать (за то насколько это костыльно ничего не скажу):

Iceman

Спасибо, буду пробовать.

Меня тут посетила мысль сделать появление надписи "Комментарии могут оставлять только зарегистрированные пользователи" после нажатия на ссылку "оставить комментарий" на основе какого-нибудь аккордеона на jQuery. Только вот как сделать, я не знаю sadВернее, просто прикрутить аккордеон — не проблема, а нужно ведь чтобы он был виден только для гостей.
#36 14 января 2015 в 15:56

m0skit

m0skit
Поддержу направление верное но зачем так гневно высказываться. Здесь люди адекватные всегда стараются помочь.
#37 14 января 2015 в 16:04
Решил сам проблему с приглашением зарегистрироваться для добавления комментария.

Уверен, это необходимо многим, а не все это могут сделать сами. Поэтому делюсь.

В файле tamplates/ controllers/comment/list.tpl.php

После
  1. <div class="buttons">
  2. <?php echo html_button(LANG_PREVIEW, 'preview', 'icms.comments.preview()'); ?>
  3. <?php echo html_button(LANG_SEND, 'submit', 'icms.comments.submit()'); ?>
  4. </div>
  5. <div class="loading">
  6. <?php echo LANG_LOADING; ?>
  7. </div>
  8. </form>
  9. <?php } else { ?>
  10. <p><?php printf(LANG_COMMENTS_LOW_KARMA, cmsUser::getPermissionValue('comments', 'karma')); ?></p>
  11. <?php } ?>
  12. </div>
Добавляем
  1. <?php } else { ?>
  2. <div id="comments_add_link">
  3. <?php echo LANG_COMMENT_ADD_ONLY; ?><a href="../auth/register" class="ajaxlinkcom"><?php echo LANG_COMMENT_ADD_REG; ?></a>
  4. </div>
В файле system/language/ru/controllers/comments/comments.php

добавляем языковые переменные

  1. define('LANG_COMMENT_ADD_REG', 'Зарегистрироваться?');
  2. define('LANG_COMMENT_ADD_ONLY', 'Добавлять комментарии могут только зарегистрированные пользователи. ');

Вот и все (правда я еще для второго дива создал отдельный стиль).

Теперь, незарегистрированные пользователи будут видеть следующий текст:
"Добавлять комментарии могут только зарегистрированные пользователи. Зарегистрироваться?"

А зарегистрированные будут видеть ссылку "Написать комментарий"

Надеюсь, кому-то это поможет joke
#38 14 января 2015 в 17:46

Если честно, я вообще не знаю о чем думали разработчики когда решили полностью исключить группу гостей

m0skit
Если честно, я вообще не знаю о чем думают люди, когда решают устраивать подобные истерики.
Видимо мысль "невозможно сделать всё, всем и сразу" слишком сложна.

Конечно, это резко звучит, но ведь:

Конечно, можно разрешить оставлять комментарии незарегистрированным пользователям (в последней версии такая возможность имеется)

m0skit
то есть не было, а потом появилось, правильно? улавливаете мысль?

форма комментариев без капчи приведет к тоннам спама

m0skit
защита от спама это не обязательно картинка с цифрами
#39 14 января 2015 в 17:51

Видимо мысль "невозможно сделать всё, всем и сразу" слишком сложна.

r2
Это по-видимому заразно на нашем форуме) Не обращай внимания, я уже почти научился это делать =)
#40 14 января 2015 в 19:05

то есть не было, а потом появилось, правильно? улавливаете мысль?

r2

ходят слухи что и модерация гостевых комментариев скоро появится, а то понаоставляют комментов хрумером — устанешь чистить.
#41 14 января 2015 в 19:08

Если честно, я вообще не знаю о чем думают люди, когда решают устраивать подобные истерики.
Видимо мысль "невозможно сделать всё, всем и сразу" слишком сложна.

r2

Уважаемый r2, я конечно понимаю что угодить всем и сразу не возможно в принципе, так как у каждого свои запросы, потребности и видение того, как должно быть то или это.
Но я говорю об элементарном. О том, что есть в каждой системе. О том, что является логичным.
Предложить незарегистрированному пользователю зарегистрироваться для того чтобы оставить комментарий — это не логично?
Или сделать настройки доступа гостей для того чтобы можно было разрешить и незарегистрированным добавлять контент (в моем случае — объявления) — тоже не логично? Не каждый захочет или сможет (есть и такие) зарегистрироваться для того чтобы добавить объявление. А это серьезный минус для сайта в плане посещаемости и популярности.

Или вот еще — почему нельзя разрешить пользователям добавлять фотографии в созданные не ими альбомы?


Таких элементарных и крайне нелогичных недоработок хватает и в первой и во второй версиях. Перечислять, думаю, их не стоит, достаточно почитать форум.

то есть не было, а потом появилось, правильно? улавливаете мысль?

r2

Без защиты — это равносильно тому что такой возможности нет.

защита от спама это не обязательно картинка с цифрами

r2

В отношении вашей системы, думаю, это как раз картинка с цифрами.

Это по-видимому заразно на нашем форуме) Не обращай внимания, я уже почти научился это делать =)

Fuze

Извините, но не обращать внимания на замечания — это правильный подход?

P.S. И я не истерю. Скорее негодую smile
#42 14 января 2015 в 19:13
Отдельно хочу выразить благодарность разработчикам за их работу. Но, если честно, я бы предпочел чтобы система была платной. Так как заплатив деньги, я имею право что-то требовать. А раз система бесплатная — тогда и ответы соответствующие из серии "не нравится, не пользуйся". Уж извините.
#43 14 января 2015 в 19:21

Так как заплатив деньги, я имею право что-то требовать

m0skit
Купите DLE и требуйте доп. функционал на свой вкус в версию из коробки😊… разработчики ответят Вам примерно в том же русле..
хотите платно — не когда не было проблем в том, чтобы найти исполнителя… Выбирайте на свой вкус как говориться любой каприз за Ваши деньги😊
#44 14 января 2015 в 19:27

Купите DLE и требуйте доп. функционал на свой вкус в версию из коробки smile… разработчики ответят Вам примерно в том же русле..

Soul

Покупал и не раз. Дополнительный функционал не требовал ни там ни тут. В DLE все это есть, так же как и в подавляющем большинстве систем.
Повторюсь, я говорю об элементарном и логичном. Я не требую прикрутить форум, засунуть интернет-магазин или еще что-то.

хотите платно — не когда не было проблем в том, чтобы найти исполнителя… Выбирайте на свой вкус как говориться любой каприз за Ваши деньги

Soul

Вы же понимаете, что купить готовую систему и вешать на нее платные модули, плагины, компоненты или допиливать ее что-то переделывая и доделывая — это совсем разные вещи. После "сторонних" изменений каждое обновление будет той еще малоприятной процедурой.
#45 14 января 2015 в 19:54
m0skit, вы почему-то не можете понять очень простую мысль. Если в движке не хватает каких-то очевидных вещей, то может это не авторы дураки, а просто эти вещи еще не были сделаны?

Извините, но не обращать внимания на замечания — это правильный подход?

m0skit
На замечания и предложения — неправильный. На истерики с претензиями — правильный.

Без защиты — это равносильно тому что такой возможности нет.

m0skit
Я уже объяснил что защита есть. Впрочем, вам виднее, у меня нет задачи кого-либо в чем-то убеждать.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.