Перейти к контенту

Школа начинающего IPB строителя


GiV

Рекомендуемые сообщения

Наверное у многих из вас было (и есть) желание что-нибудь поменять в работе своего форума, прикрутить новую возможность или усовершенствовать старую, однако желание и оставалось желанием, ибо нужно либо искать товарища способного написать такую модификацию, либо пробовать самому. Для многих второй вариант сразу отпадает, попытка же тех кто полез модифицировать сам увенчается или успехом, или потерпит провал.

 

Со мной было точно так же. Когда я начал знакомиться с vBulletin я заметил проблему с русскими буквами в администраторской панели. Набираешь все по-русски в формах, а оно потом представляется в буквосимвольном виде, мало того так еще и обрубалась половина введенного. Тогда полез я смотреть код, наивно полагая, что сам скрипт так преобразует текст. Естественно ничего интересного я там не увидел. Много много непонятного мне кода (о PHP на тот момент я представления не имел). По аналогии с прикладным программированием (о котором представления были) поискал функцию конвертер, не нашел. Плюнув на это дело, решил проверить кодировку страниц, тут то и была собака зарыта. В итоге потеряв около часа я сделал два вывода для себя: 1. в коде я больше ковыряться не буду (наивно полагал :D ) 2.если есть проблемы с представлением текста - смотри кодировку.

 

Так для кого же эта статья? Для всех! И для тех кто хочет научиться писать свои модификации, и для тех кто их писать не будет. Зачем всем остальным? Попробую объяснить. Я нередко сталкиваюсь с новоиспеченными администраторами форумов. Некоторые из них плохо представляют себе управление форумом вообще, не говоря уж об установки модификаций, таким уже не поможешь. Большая же часть администраторов умеют и устанавливать и управлять. Но как они устанавливают! Признайтесь честно, положа руку на сердце, Вы когда-нибудь осознаете что Вы ставите? Для чего нужна та или иная строка кода? Думаю нет. А потом после установки 2–3х модификаций у Вас перестает корректно работать форум и Вы не знаете что делать.

 

Вспомнилось. Стучится ко мне в аську один из новоиспеченных админов. Начинает жаловаться, мол тут у меня ошибка вылезает, тут мне не зайти. Выручай в общем. У меня уже готов дежурный вопрос — «Что ставил перед тем как работать перестало?». Его ответ сразил меня на повал. «Это не имеет значения, я 5ть раз переустанавливал форум, ошибка сохранилась, даже еще больше стало!». Ну что вот с таким поделать?!? Он привык свой Виндовс95 по 15ть раз на дню переустанавливать, он и с форумом так же поступил. А если бы к делу с мозгами подошел, то и сам смог бы исправить ошибку.

 

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

 

А то ведь и необходимого ответа на дежурный вопрос (см. выше) не всегда дождаться можешь.

Диалог:

- У меня на форуме не выводится содержание тем. Пишет такую то ошибку.

- Что вы в последний раз ставили?

- Приветсвие новых пользователей о ПМ. Кто был Сегодня в ОнЛайн.

- Хмм... Ничего из этого помешать не могло. Быть может еще что то ставили связанное с выводом тем?

- Ну не знаю. Уж точно не быстрый ответ.

 

Что нужно для усвоения статей? Не поверите! В первую очередь нужна голова, желательно с наполнителем ;) Во-вторых, желание. Вот и все. А как же знание PHP, спросите Вы. По желанию, если хотите писать модификации, то без PHP Вам никуда, если хотите просто разобраться что к чему, то достаточно и первых двух требований.

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

 

Постановка задачи модификации. Что такое "постановка"? Это подробное словесное описание того, что должна делать и как должна делать модификация. Постановка является наиважнейшим этапом при написании модификации, так как позволяет сразу определить что, где и когда должна делать модификация. Так ли важна постановка? Не буду говорить что она необходива в 100 случаях из 100, но в 50 она существенно облегчит жизнь. Попробуйте не задумываясь сесть и написать модификацию для вывода в каждом форуме списка модераторов или включение и отключение пользователем вывода форумов. Я думаю Вы не сразу сообразите в каком файле (ах) нужно осуществлять изменения (где?), какую функцию нужно модифицировать (когда?) и как ее модифицировать (что?). Итак если мы пишем модификацию, которая выполняет нечто большее чем вывод динамической ссылки, стоит задуматься о постановке.

Теория теорией, а примерчик постановки задачи очень был бы к месту. Давайте разберем модификацию вывода списка модераторов.

  • Основная задача модификации вывести на странице форума (та которая содержит список всех тем форума) список модераторов, как это сделано на главной странице.
     
  • Вывод списка модераторов происходит в следующих случаях:
    • Если пользователь имеет доступ в форум.
    • Если форум модерируется модератором (ами).
    • Если форум модерируется группой модераторов.

    [*]Список модераторов должен быть выведен до начала вывода содержимого форума (тем)

    • Если форум содержит подфорумы, то список модераторов должен располагаться выше таблицы с подфорумами.

В итоге у нас получилось 3-и пункта, и по ним мы уже точно можем ответить на вопросы что?, где?, когда? Более того, данная постановка не привязана к конкретному движку форума. То есть взяв эту постановку, я могу написать модификацию как для Invision Power Board, так и для phpBB или vBulletin.

Теперь для тех кто не понял ответы на вопросы:

Что? Список модераторов форума (если выполнены условия 2.2, 2.3). С программной точки зрения выполняется одним запросом к базе данных форума (как это сделано на главной странице.)

Когда? на странице форума (та которая содержит список всех тем форума) и при выполнении условия 2.1. (голова о выполнении этого уловия у нас болеть не должна, это уже сделано в самом движке)

Где? выведен до начала вывода содержимого форума (тем) и выше таблицы с подфорумами.

 

Теперь если привести табличку предназначения файлов IPB и шаблонов (это будет во втором выпуске), а так же список основных функций. Вы сможете без проблем сказать что и куда и в каком шаблоне. Однако, пока остановимся на этом. Если у вас есть желание то можете написать постановки для других модификации, если что то не получится всегда буду рад помочь.

 

Ну а пока дежурные вопросы:

1. Стоит ли продожать, пока не зашли слишком далеко?

2. Найдутся ли помошники/советчики в этом деле?

3. Доступно ли изложено, или стоит еще проще?

 

Следующая часть: Школа начинающего IPB строителя

Ссылка на комментарий
Поделиться на других сайтах

1. Да

2. Я (думаю и не только я)...когда-нибудь...

3. Не стоит - а то читать не захотят.

4. Спасибо за такую подробность в описании!

Ссылка на комментарий
Поделиться на других сайтах

1. однозначно да

2. Найдутся, помогу чем смогу.

3. Все доступно.

 

Что касается меня, то например хоть и не плохо владею html(хотя чего им там владеть), пробывал разбираться с php, вроде бы все основное уяснил, все понял, и даже просматривая код форума понимаю что для чего и откуда...но написать самому какой-то более сложный хак мне не под силу....даже не знаю почему, наверное надо набирать опыта с PHP.

Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...
  • 4 недели спустя...

Vanish, на твои вопросы дам однозначный ответ

Ну а пока дежурные вопросы:

1. Стоит ли продожать, пока не зашли слишком далеко?

2. Найдутся ли помошники/советчики в этом деле?

3. Доступно ли изложено, или стоит еще проще?

 

1. СтОит - особенно для чайников вроде меня

2. У вас мужики форум прекрасный - народ помогает, а не портит новичкам компбютеры и форумы

3. Доступно не все, можно еще проще? Извините, ну чайник я! ;)

 

Большое человеческое спасибо, дорогой программер! :D

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
1. Стоит ли продожать, пока не зашли слишком далеко?

2. Найдутся ли помошники/советчики в этом деле?

3. Доступно ли изложено, или стоит еще проще?

 

1= 1

2= 2

3=0

 

(1) да

(2) незнаю

(1) нет

 

Ждёмс продолжения

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
  • 2 месяца спустя...
  • 2 года спустя...
Хех. А я успешно пишу и распространяю на коммерческой основе свои моды для линейки 2.1.* мне она больше всех нравится просто :D
Ссылка на комментарий
Поделиться на других сайтах

  • 5 месяцев спустя...
А правильно ли если новоиспечённый админ перед установкой мода внимательно изучает код хотя в РНР толком ничего не знает?
Ссылка на комментарий
Поделиться на других сайтах

Вопрос к автору темы: будет ли продолжение (части 4,5...)?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.