Разделение коллективных блогов по направлениям
Иду дальше по пути развития нашего будущего проекта. Осталось совсем ничего, добавить еще один фильтр и Авторизация по OpetID. OpetID – это потом. А щас фильтр :).
В чем идея (точнее не совсем идея, и даже не новшество). Есть коллективные блоги, у себя в проекте назвал их тематическими. Т.е. каждый коллективный блог будет иметь определенную тему. Для начало, скажем что это: «Веб-дизайн» и «Образование»
Что сделал:
Добавил нужный текст а языковой файл. После изменил add.tpl
В Blog.entity.class.php добавил
В Blog.class.php в эванте EventAddBlog добавил
(после $oBlog=new BlogEntity_Blog(); конечно).
В Blog.mapper.class.php изменл запрос
Естественно изменения коснулись и таблицы prefix_blog, добавил поле blog_category.
Вроде все сделал, чтоб блог можно было добавить, указав его категорию. Блоги добавляются, но вот тока в таблице prefix_blog поле blog_category остается пустым.
У себя пока идей нет, может кто заметит в чем проблема?
В чем идея (точнее не совсем идея, и даже не новшество). Есть коллективные блоги, у себя в проекте назвал их тематическими. Т.е. каждый коллективный блог будет иметь определенную тему. Для начало, скажем что это: «Веб-дизайн» и «Образование»
Что сделал:
Добавил нужный текст а языковой файл. После изменил add.tpl
<p><label for="blog_category">{$aLang.blog_create_blog_category}:</label><br />
<select name="blog_category" id="blog_category" onChange="">
<option value="blog_category">{$aLang.blog_create_blog_category_education}</option>
<option value="blog_category">{$aLang.blog_create_blog_category_web}</option>
</select>
<br />
<span class="form_note">{$aLang.blog_create_blog_category_notice}</span></p>
В Blog.entity.class.php добавил
public function getCategory() {
return $this->_aData['blog_category'];
}
public function setCategory($data) {
$this->_aData['blog_category']=$data;
}
В Blog.class.php в эванте EventAddBlog добавил
$oBlog->setCategory(getRequest('blog_category'));
(после $oBlog=new BlogEntity_Blog(); конечно).
В Blog.mapper.class.php изменл запрос
public function AddBlog(BlogEntity_Blog $oBlog) {
$sql = "INSERT INTO ".DB_TABLE_BLOG."
(user_owner_id,
blog_title,
blog_description,
blog_type,
blog_category,
blog_date_add,
blog_limit_rating_topic,
blog_url,
blog_avatar,
blog_avatar_type
)
VALUES(?d, ?, ?, ?, ?, ?, ?, ?, ?, ?)
";
if ($iId=$this->oDb->query($sql,$oBlog->getOwnerId(),$oBlog->getTitle(),$oBlog->getDescription(),$oBlog->getType(),$oBlog->getCategory(),$oBlog->getDateAdd(),$oBlog->getLimitRatingTopic(),$oBlog->getUrl(),$oBlog->getAvatar(),$oBlog->getAvatarType())) {
return $iId;
}
return false;
}
Естественно изменения коснулись и таблицы prefix_blog, добавил поле blog_category.
Вроде все сделал, чтоб блог можно было добавить, указав его категорию. Блоги добавляются, но вот тока в таблице prefix_blog поле blog_category остается пустым.
У себя пока идей нет, может кто заметит в чем проблема?
12 комментариев
в чем разница между этим и просто привязкой любого блога к любой категории в модуле
как же вы доверяете юзеру создание блога в наши суровые времена :)
В базе поле blog_category было ENUM? и значения blog_category там не было.
Правильно будет так:
Вот теперь работает
Там в Blog.class.php немного другие строчки, помогите пожалуйста, уважаемый netuser. =)
Что изменить надо?
Спасибо автору топика за наводку!
дабы не усложнять архитектуру БД и запросы к БД… я понимая что тогда боролись за каждый лишний байт… сейчас борьба идет за мегабайт…
но все же… в итоге получается что blog_type используется только для разделения блогов на персональные и общественные…
хотя с другой стороны получится что можно делать и персональные и общественные на разные тематики…
в моем проекте как говорится енто не треба… так что пожалуй буду использовать blog_type для упрощения запросов… и как следствие снижение нагрузки…
в любом случае спасибо за идею… и пример ее реализации… очень для меня нужная тема…