Ещё один набросок. Он позволит строить ветки комментариев. вроде нуждается в доработке
Для того, чтобы начать или продолжить ветку, пользователь должен будет указать в начале своего поста id того поста, к которому хочет обратиться в таком виде:
>100500
Перенос строки в данном случае важен, как и нахождение номера в начале сообщния.
Указание своего или несуществующего номера ничего не даст. Номер поста везде заменяется.
Сделал, ибо привык к друпальным веточкам ><
Проблему вижу одну: переход между страницами. Если пользователь начал новую и обращается к посту на предыдущей - ожидаемого сдвига не будет.
Также скрипт потребует поправок в стиле, касательно нижней границы поста.
Номера постов заменятся на ссылки, отправляющие в форму ответа id поста.
Стиль
<style> .post {border-bottom: none 0px transparent !important;} .ment {margin-left: 4%; margin-top: .3em;} .ment .pa-reg, .ment .pa-posts, .ment .pa-respect, .ment .pa-positive, .ment .pa-fld1, .ment .pa-ip, .ment .pa-time-visit, .ment .pa-title, .ment .post-sig, .ment .pa-online {display:none;} .ment .pa-avatar img {max-width: 10em; max-height:6em; width:auto; height:auto;} .ment, .post {min-width: 46em;} </style>
Скрипт вниз
<script type="text/javascript"> post = document.getElementsByClassName('post-content') f = -1 while (post[++f]) { xnumb = post[f].firstElementChild.firstChild.length - 3 pnum = post[f].firstElementChild.firstChild.textContent.substr(2, xnumb) pnum = "p"+pnum if (ppost = document.getElementById(pnum)) { tpost = post[f].parentNode.parentNode.parentNode.parentNode idp = tpost.id if (idp !== ppost.id && post[f].firstElementChild.firstChild.textContent.substr(0, 2) == "[>" && post[f].firstElementChild.firstChild.textContent.substr(post[f].firstElementChild.firstChild.length - 1) == "]") { post[f].firstElementChild.firstChild.textContent = '' post[f].firstElementChild.removeChild(post[f].firstElementChild.firstElementChild) htp = tpost.innerHTML tpost.parentNode.removeChild(tpost) document.getElementById(pnum).innerHTML += '<div id="'+idp+'" class="ment">'+htp+'</div>' } } } if (GroupID !== 3) { plinks = document.getElementsByClassName('post-links') f = -1 while (plinks[++f]) {plinks[f].firstElementChild.innerHTML += '<li><a href="#post-form" title="Оставить комментарий к этому посту"onclick="insert(\'[>'+plinks[f].parentNode.parentNode.id.substr(1)+']\');obje=this; nowanswer();">Комментировать</a></li>' } } </script>
Отредактировано Kven (Сб, 8 Янв 2011 16:33:37)