Постнагуализм
19 апреля 2024, 12:47:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

      Логин             Пароль
В разделе "Свободная территория" можно общаться без аккаунта!
"Тема для быстрой регистрации"
 
   Начало   Помощь Правила Поиск Войти Регистрация Чат Портал  
Страниц: [1] 2 3 ... 5  Все
  Печать  
Автор Тема: Как пользоваться форумом  (Прочитано 41205 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Pipa
Техник
Старожил
*
Offline Offline

Пол: Женский
Сообщений: 12299



Email
« : 17 мая 2010, 03:19:22 »

PS Я ставлю в "Быстрый ответ". Там у меня термины выделены жирным, некоторые жирным и курсивом. Надо будет посмотреть, как это делается, и расставить. Это, выходит, "голый" текст - без выделений и прочих красот

   Форма "Быстрый ответ" не предназначена для получения "красивостей", ее основное назначение - быть приемником цитат. Нужна она, прежде всего, потому, что сосуществует одновременно с текстом страницы.
   "Красивые" тексты пишутся в форме обычного "Ответа", а не быстрого. Там для этих целей предусмотрено множество инструментов, среди которых имеются и средства выделения "жирный" и "курсив".
   Тем не менее, можно "раскрасить" и текст, уже набранный в форме "Быстрый ответ". Для это есть два пути:
1) Нажать в форме "Быстрый ответ" на кнопку "Предварительный просмотр". Тогда откроется форма полного "Ответа", в которой сохранится набранный текст, а сверху будет показано, как он будет выглядеть в отправленном виде. И здесь его можно сколько угодно его раскрашивать, используя инструменты.
2) Самый простой способ (которым пользуясь я) - отправить некрасивый тест, а затем через функцию "Изменить", вызвать его на повторное редактирование. Там тоже будут все инструменты для раскрашивания.
   Жирный текст получается с помощью заключения слова/фразы в теги [ b ] (спереди) и [ /b ] (сзади), а курсив - в теги [ i ] (спереди) и [ /i ] (сзади). Пробелы в квадратных скобках не нужны, но я их поставила только затем, чтобы передать написание этих тегов, ибо при правильном их написании будут видны не они сами, а вызываемые ими действия. Форма с инструментами позволяет ставить эти теги очень быстро, не набирая их руками. Для этого слово/фразу выделяют курсором (режим select), а затем жмут на кнопку "B" (для жирного) или кнопку "I" (для курсива). После чего передний и задний теги проставятся автоматически. Однако это не мешает набирать теги вручную или редактировать ту вставку, которая получилась. Если нужен курсив и жирность одновременно, то слово/фразу сначала заключают в один из этих тегов, а потом все целиком (вместе с тегами!) заключают в другую пару тегов. Например так: [ b ][ i ]фраза[ /i ][ /b ].
   Теговый способ вставки в текст управляющих сообщений - один из старых и почтенных способов записи текстов. Основан он на том, что некий, редко используемый в тестах символ или пара символов используется в качестве скобок, внутри которых помещаются управляющие инструкции. Сами эти скобки в распечатанном тесте не видны, равно как и их содержимое. Однако такого рода скрытые от читательского глаза редакторские значки позволяют произвольно управлять видом теста, задавая не только любые его характеристики, но и разного рода вспомогательные материалы - картинки, видео, звук и т.п. На форумах такого рода скобками служат квадратные скобки, в HTML-текстах - угловые скобки, текстах RTF-формата - обратная косая черта и т.д.
    Нельзя не помянуть о том, что автоматические редакторы типа MS Word'а испортили вкусы публики :), скрывая от автора настоящий вид текста, который он пишет. Из-за этого сам автор видит текст в точности, как читатель, а служебные теги за него расставляет текстовый редактор. Не стану отрицать, что это достаточно удобно. Однако сопряжено с очень большой сложностью как самого редактора, так и внутренней структуры самого текста. Пока еще форумные скрипты не возволяют достичь такой высокой сложности обработки текстов, а потому приходится использовать старую-добрую теговую систему. Которая на самом деле гораздо гибче "текстового редактора для дураков" :).          
Записан
Ксендзюк
Модератор своей темы
Пользователь
*
Offline Offline

Пол: Мужской
Сообщений: 215



« Ответ #1 : 19 мая 2010, 00:11:01 »

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

Спасибо, Pipa! Я буду осваивать.
Ваши пояснения очень полезны - жаль, сегодня уже поздно что-то делать. Но завтра или в другой день, когда зайду, попробую испытать эти тэги. Может, заметку поправлю! :)
Записан
одичалый
Пользователь
**
Offline Offline

Сообщений: 366


« Ответ #2 : 05 октября 2010, 23:12:58 »

Как посмотреть все сообщения одной лентой начиная с заданного момента времени?
Сейчас можно просмотреть только последние 100 сообщений. Этого не всегда хватает, т.к. с момента последнего просмотра уже написано больше чем 100 постов. Просматривать каждый раздел мучительно, даже в качестве неделания :).
Записан
`
Пользователь
**
Offline Offline

Сообщений: 200


Email
« Ответ #3 : 07 октября 2010, 14:45:50 »

Кто-нибудь может сказать, почему "Поиск" закидывает на старый форум? То, что найдено по заданым в поиске словам лишь мелькает перед перенаправлением на старый форум.
Записан
violet drum
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 17078


Абстрактные концепции на конкретной шкуре...)


« Ответ #4 : 07 октября 2010, 15:18:37 »

Кто-нибудь может сказать, почему "Поиск" закидывает на старый форум? То, что найдено по заданым в поиске словам лишь мелькает перед перенаправлением на старый форум.

Цитата: кошачий адвокат от 27 Августа 2010, 18:14:14
А почему поиск на форуме такой убогий? Его почти нет или он не работает как положено работать приличному поиску.

 (Пипа):  Будет такой, пока не переедем на ПМЖ на postnagualism.ru (там сейчас ведутся "строительные" работы). А тут я просто боюсь проводить полную индексацию базы, т.к. после этой процедуры ее размер увеличится на порядок, и с ней будет сложнее переезжать.
Записан

Вам никогда не приходило в голову ... копьё?
Pipa
Техник
Старожил
*
Offline Offline

Пол: Женский
Сообщений: 12299



Email
« Ответ #5 : 07 октября 2010, 15:33:26 »

Как посмотреть все сообщения одной лентой начиная с заданного момента времени?
Сейчас можно просмотреть только последние 100 сообщений. Этого не всегда хватает, т.к. с момента последнего просмотра уже написано больше чем 100 постов. Просматривать каждый раздел мучительно, даже в качестве неделания :).

   Браузеры обычно не держат такой длинный текст, да еще и насыщенный разнообразными вставками. Вообще-то, сам язык HTML изначально задумывался для отображения оформления экрана, а не для представления "бесконечных" текстов. Поэтому вы никогда не найдете в интернете книгу в формате HTML целым текстом, а лишь разбитую на страницы. А если захотите целым куском, то вам предложат эту книгу в одном из ТЕКСТОВЫХ форматов, типа *.txt, *.rtf, *.doc, *.fb2 и т.д.
   Т.е. это не проблема форума, а неразрешимые проблемы именно клиентских браузеров. Причем здесь даже не их вина, в самого формата HTML, который не позволяет показывать текст постранично. В то время как большинство электронных редакторов/просмотрщиков текстов имеют возможность отображать тексты в своих форматах постранично.
   Технически я могу снять ограничение на предельный лимит в 100 страниц, только тогда ротозеям, которые, не глядя на число страниц в теме, станут шмякать по кнопке "Все", придется, скорее всего, перезапускать свой компьютер кнопкой "ресет" :). Поэтому здесь так и сделано, что когда число страниц в теме превышает 100, кнопка "Все" пропадает.
   Тем не менее, вы можете на свой страх и риск выйти за пределы этого ограничения, если вручную добавите к адресу темы окончание ";all".
Например, адрес этой темы:
http://forum.postnagualism.ru/index.php?board=6.0
поэтому сборка всех ее страниц получится добавлением ";all" и будет выглядеть так:
http://forum.postnagualism.ru/index.php?board=6.0;all

P.S. Обращаю ваше внимание, что ограничитель установлен не на 100 сообщений, а на 100 страниц! А таких длинных тем у нас на форуме пока нет.
P.P.S. Если же вы все-таки где-то обнаружили лимит на 100 сообщений - приведите ссылку. Жалоба должна быть конкретной, а не абстрактной.  
Записан
Pipa
Техник
Старожил
*
Offline Offline

Пол: Женский
Сообщений: 12299



Email
« Ответ #6 : 07 октября 2010, 15:52:37 »

Кто-нибудь может сказать, почему "Поиск" закидывает на старый форум? То, что найдено по заданым в поиске словам лишь мелькает перед перенаправлением на старый форум.

   Это моя вина, не смогла в свое время решить эту проблему элегантно, оттого и такой результат. Проблема в том, что в скриптах форума нет такого места, которое бы отбражало тот или иной конкретный раздел, тему или страницу. Алгоритм написан в самом ОБЩЕМ ВИДЕ, когда в ОДНОМ общем цикле перебираются хранящиеся в базе данные, из которых на последнем обороте цикла заканчивается построение главной страницы форума. А нужно было сделать так, чтобы в отношении двух разделов форума - "Архив прошлого форума «Нагуализм»" и "Сайт «Нагуализм Нового Цикла»" было сделано исключение - отображались не темы этих разделов, а выполнялся переход на сторонние адреса в интернете. Найти место, где можно было бы встроиться в этот цикл мне тогда не удалось - уж очень муторный там код. А потому я тогда решила вопрос по-простецки - вставила в заголовок первых тем в этих двух разделах перенаправление на другое место (Javascript). Благодаря этому, как только в те разделы входили и смотрели на заголовок темы, то сразу же перенаправлялись либо в архив старого форума или на сайт Дайявана. Я была даже горда тем, что нашла такое изящное решение, пока ... не обнаружила, что оно мешает поиску.
   Дело это я не бросаю, а попробую другие варианты. Короче говоря, с поиском будем разбираться на новом месте. А сейчас там присоединяют дополнительный диск, т.к. выделенного нам места оказалось мало для переезда - после инталляции операционки и сервисов осталось свободных 150 Мегов. Куда тут переезжать, если места в притык?  А на дополнительном диске, говорят, будет 15 Гигов, чего хватит за глаза на все.
Записан
одичалый
Пользователь
**
Offline Offline

Сообщений: 366


« Ответ #7 : 07 октября 2010, 16:34:01 »

Pipa,
Я говорю не о кнопке Все на панельке навигации по страницам темы, а про вывод всех сообщений форума начиная с определённого момента времени (естественно, что не одной HTML страницей, а с некоторой навигацией как в темах)
Вот лента последних сообщений форума http://forum.postnagualism.ru/index.php?action=recent
К этой ленте можно добраться через Постнагуализм - Информационный центр, если тыкнуться на иконку слева от списка последних сообщений.
Там 100 сообщений только отображаются. Очень хочется чтобы этой ленте можно было скормить параметр, который бы ей указывал начиная с какого момента времени показывать сообщения.
Записан
Pipa
Техник
Старожил
*
Offline Offline

Пол: Женский
Сообщений: 12299



Email
« Ответ #8 : 07 октября 2010, 16:59:42 »

Очень хочется чтобы этой ленте можно было скормить параметр, который бы ей указывал начиная с какого момента времени показывать сообщения.

   Вряд ли это возможно. Дело в том, что форум практически вообще не обращает внимания на времена сообщений, а работает с их списком по сквозному НОМЕРУ. А отображаемое в сообщении время сообщения есть не более чем визуальный компонент, типа аватара :). Поэтому если поменять всем сообщениям времена их отправления, то на форуме ровном счетом ничего не изменится - т.е. на порядке сообщений это никак не скажется.
   Технически можно было бы поковырять функцию recent, которая генерирует ленту последних сообщений, чтобы она начинала не с номера последнего сообщения на форуме, а с какого-то иного. Но тогда номер такого сообщения все равно придется задавать в виде номера, а не даты. Конечно, если потрудиться, то можно исхитриться создать такой запрос к базе, чтобы найди первое сообщение с датой, равной или превышающей указанную, а потом подставлять этот номер в модифицированную функцию recent. Однако и этого будет недостаточно, т.к. придется еще изобретать дополнительные параметры, указывающие на дату, принимая во внимание то, что календарная дата может быть задана большим числов различных способов.
   Такой работой, возможно, и следовало заняться, если бы этим этим механизмом желали воспользоваться множество желающих, а не вы один. В то врямя как опыт показывает, что пользователи форума в своей массе никакими параметрами пользоваться не хотят, а могут только шмякать мышкой по кнопкам и ссылкам.    
Записан
одичалый
Пользователь
**
Offline Offline

Сообщений: 366


« Ответ #9 : 07 октября 2010, 18:07:36 »

  Понятно.
   Странно, что  у   такого    навороченного форума,нет такой простейшей приблуды,как календарь (он даже в гостевых книгах бывает). Тыкаешься в дату и выводятся все сообщения за эту дату. Естественно, что время будет серверное, чтоб разброда и шатания в упорядочении сообщений не было, но это не большая беда, которая к тому же поправима, ведь время на машине пользователя доступно скриптам.
« Последнее редактирование: 02 ноября 2010, 16:58:37 от Камень » Записан
Pipa
Техник
Старожил
*
Offline Offline

Пол: Женский
Сообщений: 12299



Email
« Ответ #10 : 07 октября 2010, 18:43:20 »

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

   Календарь у этого типа форума есть (сейчас он выключен), но тот календарь показывает лишь праздники и памятные даты, которые туда введешь. Т.е. для данной цели он не пригоден.
   А форум этот отнюдь не навороченный, а как раз один среди бесплатных. У меня прежде был опыт эксплуатации платного форума vBulletin, этот форум мне даже понравился, хотя в нем тоже нужно исправлять массу недоделок и неудобств. Однако купленный форум сопровождается лицензией, согласно которой его скрипты нельзя модифицировать. Для частника такой запрет пофигу, а здесь никак нельзя подводить издательство "Постум".  
Записан
одичалый
Пользователь
**
Offline Offline

Сообщений: 366


« Ответ #11 : 07 октября 2010, 22:37:16 »

Cамому интересно стало как модернизировать функцию recent.
Тут можно выделить два этапа:
1. Научиться выводить не 100 сообщений как сейчас (10 сообщений на 10-ти страницах), а любое другое число.
Короче, надо найти select примерно такого вида

SELECT * FROM таблица_сообщений ORDER BY id_сообщения DESC LIMIT $start, $number_of_posts

и посмотреть в каком виде LIMIT получает параметры. Первый параметр это сообщение начиная, с которого идёт выборка. Второй параметр количество элементов в выборке.

Например, если я тыкаюсь на 10-ую страницу, то функции recent передаётся start=90
http://forum.postnagualism.ru/index.php?action=recent;start=90

Дальше вариантов может быть два:
1.1 увеличить число ссылок на страницы на панели навигации (сейчас их 10) и передавать через них соответствующие параметры start=100, start=110 и т.д. Наверняка скрипт эти ссылки генерит в цикле а цикл ориентируется на переменную задающую число страниц (обозначим $number_of_pages). Меняем её и наступает щастье.
Правда, надо будет подкорректировать проверку (сейчас скрипт при получении параметра 110 всё равно выводит сообщения начиная с 91-ого), хотя думаю, что эта проверка подкорректируется автоматически, т.к. завязана на переменную или константу
$number_of_pages.
1.2 увеличить число сообщений на странице. Наверняка при генерации числа, которое передаётся через параметр start, участвует переменная задающая число постов на странице (обозначим $number_of_posts). Т.е. start=$number_of_posts*номер страницы-1.

Найти эти две нехитрые переменные и поменять их, думаю, не очень сложно.

2. Теперь надо посчитать количество сообщений с заданной даты по текущее время.
На каком этапе предлагать пользователю ввести дату это другой вопрос.
Можно на странице, которую выводит функция recent поместить форму для ввода даты и времени.
 
Получив дату:
SELECT count(*) FROM таблица_сообщений WHERE Post_Time>=Input_Time
Этот селект выполнять, когда получены параметры даты и времени.
Тут будет некоторая морока, конечно, с приведением типов времени и учётом поясного времени.
Дальше, имея количество сообщений, которые нужно вывести вычисляем значение переменной $number_of_pages (с этим даже третьеклассник справится, зная количество постов на странице $number_of_posts). Меняем переменную $number_of_pages.
А дальше скрипт все сделает сам :-).

Первый вариант (увеличение количества сообщений) не сложно реализуется, а над вторым подумать надо.
Мне первого вполне хватит :), если количество страниц увеличить с 10-ти, до 20-30.
Записан
одичалый
Пользователь
**
Offline Offline

Сообщений: 366


« Ответ #12 : 07 октября 2010, 23:50:01 »

Во втором случае можно ещё проще поступить.
После того как получено число сообщений начиная с некоторого времени и до настоящего момента (допустим 87) переходить к этому 87-ому сообщению с помощью запроса
http://forum.postnagualism.ru/index.php?action=recent;start=87
Если нажать на эту ссылку, скрипт правильно всё обработает.

Если увеличить $number_of_pages, то скрипт и большие числа нормально схавает. Например,
187.
http://forum.postnagualism.ru/index.php?action=recent;start=187
Если сейчас нажать на эту ссылку, то скрипт перекинет на страницу 9, т.е. на последнюю из доступных.
Короче всё просто.

Записан
Pipa
Техник
Старожил
*
Offline Offline

Пол: Женский
Сообщений: 12299



Email
« Ответ #13 : 08 октября 2010, 00:27:23 »

Дальше вариантов может быть два:
1.1 увеличить число ссылок на страницы на панели навигации (сейчас их 10) и передавать через них соответствующие параметры start=100, start=110 и т.д. Наверняка скрипт эти ссылки генерит в цикле а цикл ориентируется на переменную задающую число страниц (обозначим $number_of_pages). Меняем её и наступает щастье.
Правда, надо будет подкорректировать проверку (сейчас скрипт при получении параметра 110 всё равно выводит сообщения начиная с 91-ого), хотя думаю, что эта проверка подкорректируется автоматически, т.к. завязана на переменную или константу
$number_of_pages.
1.2 увеличить число сообщений на странице. Наверняка при генерации числа, которое передаётся через параметр start, участвует переменная задающая число постов на странице (обозначим $number_of_posts). Т.е. start=$number_of_posts*номер страницы-1

   Последние сообщения генерит функция RecentPosts(), которая вызывается напрямую и, видимо, единолично выполняет эту работу. Вот здесь:
http://forum.postnagualism.ru/attachments/RecentPosts.txt
я для вас ее вырезала.
   Любопытно, что задание start ограничено:
   if (isset($_REQUEST['start']) && $_REQUEST['start'] > 95)
      $_REQUEST['start'] = 95;
т.е. последняя возможная страница - 10-я, т.к. ее start=90. Число сообщений на такой странице тоже фиксировано 10-ю, что следует из комментария к этой функции:
// Find the ten most recent posts.
   Конечно, ограничение легко можно снять. Только start указывает на ТЕКУЩУЮ страницу, а отнюдь не на начало списка. Например, если у вас start=40, это это будет 5-я страница, но сам рядок от 1-й до 10 страницы останется как был.
   Сама функция весьма велика для ее осознания :). Сейчас уже поздно, а завтра постараюсь в ней поразбираться. К чему и вас приглашаю.  
Записан
одичалый
Пользователь
**
Offline Offline

Сообщений: 366


« Ответ #14 : 08 октября 2010, 12:31:51 »

сам рядок от 1-й до 10 страницы останется как был.
Это нормально.

Да, ну они наворотили. Даже простые параметры не обозначены как переменные, хоть и используются в нескольких местах кода. Такое ощущение, что специально следы запутывали :).

Можно, для начала по простому поступить. Поменять следующее. Допустим хотим, чтобы выводилось 200 постов

   if (isset($_REQUEST['start']) && $_REQUEST['start'] > 195)
      $_REQUEST['start'] = 195;

      $context['page_index'] = constructPageIndex($scripturl . '?action=recent;c=' . implode(',', $_REQUEST['c']), $_REQUEST['start'], min(200, $total_cat_posts), 10, false);

      $context['page_index'] = constructPageIndex($scripturl . '?action=recent;boards=' . implode(',', $_REQUEST['boards']), $_REQUEST['start'], min(200, $total_posts), 10, false);

      $context['page_index'] = constructPageIndex($scripturl . '?action=recent;board=' . $board . '.%d', $_REQUEST['start'], min(200, $total_posts), 10, true);

      $context['page_index'] = constructPageIndex($scripturl . '?action=recent', $_REQUEST['start'], min(200, $modSettings['totalMessages']), 10, false);

И посмотреть будет ли это правильно работать :). Если не будет, то откатить изменения.
Там ещё куча мутных цифр указано 600, 500, 400 и т.д. Но, надеюсь, что они не связаны со start.
Записан
Страниц: [1] 2 3 ... 5  Все
  Печать  
 
Перейти в:        Главная

Postnagualism © 2010. Все права защищены и охраняются законом.
Материалы, размещенные на сайте, принадлежат их владельцам.
При использовании любого материала с данного сайта в печатных или интернет изданиях, ссылка на оригинал обязательна.
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC