PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (21): В начало « ... 13 14 15 16 17 18 19 20 [21]

> Найдено сообщений: 310
dropoff Отправлено: 26 Апреля, 2011 - 16:12:01 • Тема: Группировка подкатегорий к с категориями • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 101
Привет всем.

Есть такой запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, url, title, text, STATUS, img, sort, parent_id FROM category WHERE STATUS = 1

id - основной id категории
parent_id - записывается id категории для связи. типа подкатегории.

в результате имеем
категория 1
категория 2
категория 3
категория 4
категория 5
категория 6
категория 7

но категории 4, 5, 6 в parent_id имеют id категории 2.
т.е. являются ее подкатегориями.
Вот как можно в цикле категории 4, 5, 6 выводить ПОД категорией 2?

т.е. вот так
категория 1
категория 2
--категория 4
--категория 5
--категория 6
категория 3
категория 7

У меня вывод идет через smarty. может в нем можно как-то? Хотя лучше в php это предопределять.

Помогите пожалуйста.
dropoff Отправлено: 04 Апреля, 2011 - 12:24:34 • Тема: phphooks - для создания хуков с плагинами • Форум: Программирование на PHP

Ответов: 0
Просмотров: 328
Привет всем.

Так как в PHP разбираюсь очень слабо, то нужна помощь в реализации мелких изменений.

В поисках готового решения или примеров того, как сделать систему хуков набрел на проект http://code[dot]google[dot]com/p/phphook[dot][dot][dot]wse/#svn%2Ftrunk

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

Сам класс http://code[dot]google[dot]com/p/phphook[dot][dot][dot]phooks[dot]class.php
инклуд класса и вызов http://code[dot]google[dot]com/p/phphook[dot][dot][dot]e/trunk/init.php

В итоге, к примеру в файле index.php (там он examle.php) добавляю
PHP:
скопировать код в буфер обмена
  1. if ($hook->hook_exist('test2')) {
  2.     $hook->execute_hook('test2');
  3. } else {
  4.     echo ('<p>no any plugin hooks into TEST2!!!</p>');
  5. }


в файле init.php я его вписываю либо в массив

PHP:
скопировать код в буфер обмена
  1. $hook->set_hooks(array('test1' , 'test2' , 'with_args' , 'filter'));


либо так



А в каком-то файле уже вешаю на этот хук функцию

PHP:
скопировать код в буфер обмена
  1. // функция с чем-то...
  2. function func1() {
  3.         echo 'Привет мир';
  4. }
  5.  
  6. // тут указываем на какой хук вешать
  7. add_hook('test2','func1',7);


Так все норм!

Но если я не объявлю в set_hook или set_hooks новый хук "test2", то вылазеет сообщение, что мол нет хука. И это понятно.
Вот как можно сделать так, чтобы не добавлять постоянно в set_hook или set_hooks новые хуки?
Потому как это малость напрягает.

Хотел вырезать, но с классами пока очень и очень слабо.

Как я понимаю нужно править метод add_hook и убрать hook_exist.

Если у кого-то будет минут 15-20 свободного времени - помогите пожалуйста.
dropoff Отправлено: 30 Марта, 2011 - 19:40:04 • Тема: хочу сделать интернет магазин,подскажите с чего начать... • Форум: Программирование на PHP

Ответов: 5
Просмотров: 677
параметры товара в отдельную таблицу с привязкой к id товара.
То же самое и с комментариями или любой другой инфой которую нужно цеплять к товару, атрибуты, к примеру, статьи (связь с товаром (перелинковка не плохая)) и т.д...

А группы товароа реализовать как и категории товаров...
Это все мелочи.

Тут сложность в том, как это все удобно сделать. Вот новичку тут сложно.
Я уже половину своего кода перелопатил и некоторые вещи объединил классы и функции (получение\запись\обработка инфы и т.д..). В противном случае кода получается просто куча, и волей не волей начинаешь путаться.
+ еще сделать так, чтобы при необходимости добавить какое-то поле к товару или еще что-то, то не переделывать кучу файлов, а поправить один класс, в БД и файл шаблона.

Я делал так: сел и начал просматривать движки, далее составил список того, что хочу сделать, после, сделал по каждому пункту списки функций.
Т.е. если это новости, что какая будет структура базы, какие функции будут иметь новости: картинка, теги и т.д...
И уже от этого отталкивался...

Хотя, jonston, вы правы, если магазин мелкий, то пойдет как угодно, а если что-то более сложное, то там уже с серьезным подходом нужно...
Благо в Инете полно всего, есть где черпать информацию)
dropoff Отправлено: 30 Марта, 2011 - 18:49:47 • Тема: хочу сделать интернет магазин,подскажите с чего начать... • Форум: Программирование на PHP

Ответов: 5
Просмотров: 677
Цитата:
1. делаем таблицу для категорий товаров (название категории и номер)

можно еще дополнительное поле, к примеру, sub, если будут подкатегории.
Чтобы можно сделать связь.

а вообще по данной теме есть много готовых решений с уже готовой корзиной. гуглить по запросу simple shopping cart script и т.п...

Как совсем нуб в PHP скажу так - все это очень сложно и отнимает кучу времени.
Уже месяца два делаю себе мини CMS (чисто для личных нужд), вроде работает, так как знаний не хватает, то делается все очень и очень медленно

вот пример таблицы
категорий плагина Магази в моей CMS'ки

id - id категории (auto_increment)
url - урл категории
title - название
text - описание
status - статус - вкл, выкл
img - миниатюра (картинка)
sort - сортировка категори в админке и списке категорий
parent_id - подкатегория
m_title - мета название (title)
m_desc - мета-описание
m_keywords - мета-ключ-слова

таблица товаров
id - id товара (auto_increment)
url - урл товара
category - категория товара
author - автор (ну эт лишнее)
title - название товара
date - дата добавления (еще можно дата обновления)
status - статус - вкл, выкл
short_text - краткое описание товара
text - полное описание товара
price - цена товара
m_title - мета название (title)
m_desc - мета-описание
m_keywords - мета-ключ-слова
img - миниатюра (картинка)
sort - сортировка
quantity - количество товара
model - артикул
ordered - количество покупок(не заказов. так как заказов может быть много, а оплат нет)
views - количество просмотров товара
startpage - выводить на главной или нет
startpage_sort - сортировка на главной
tags - теги

короче как-то так
+ еще таблица корзины, таблица заказов, не забыть о сессиях для пред-заказах, чтобы в базе не скапливался мусор (юзер набил корзину и потерялся, а в БД запись осталась, вот нужно ее удалять).
Короче куча всяких мелочей
dropoff Отправлено: 20 Февраля, 2011 - 17:10:14 • Тема: Несколько вопросов • Форум: Программирование на PHP

Ответов: 6
Просмотров: 441
Спасибо за ссылку, там я уже был)

Не могу понять как использовать то, что у меня уже есть.
Я имею ввиду $_SERVER['REQUEST_URI']. Не хочу забивать .htaccess, когда можно это не делать

Может у кого-то есть готовая реализация такого ЧПУ с постраничной навигацией?
Или подскажите как прикрутить к этой постраничности http://php.su/articles/?cat=exam...les&page=062
dropoff Отправлено: 20 Февраля, 2011 - 11:19:05 • Тема: Несколько вопросов • Форум: Программирование на PHP

Ответов: 6
Просмотров: 441
В том, то и дело, что готовые использовать совсем нет желания.
+ изучаю PHP пока делаю. Я сам дизайнер, мне PHP нужно только для решения банальных проблем с которыми часто сталкиваюсь. Ну и работа со smarty. Встроил его в свой сайт.

Обрисую свое ТЗ
новости, страницы, контакты, портфолио, клиенты

сайт по сути будет только для клиентов.

Из всего вышеперечисленного нет только обычных страниц
все остальное уже реализовано. Но пока там банально на уровне: список, добавление, редактирование, регистрация, авторизация...

Функции на примитивном уровне понимаю: передать значение, обработать, вернуть. С классами - пока совсем туго.
Но пока без них обхожусь.
dropoff Отправлено: 20 Февраля, 2011 - 10:51:08 • Тема: Несколько вопросов • Форум: Программирование на PHP

Ответов: 6
Просмотров: 441
Ну, я не полноценную же пишу)
я для себя, для мелкого сайтика)
dropoff Отправлено: 20 Февраля, 2011 - 10:26:49 • Тема: Несколько вопросов • Форум: Программирование на PHP

Ответов: 6
Просмотров: 441
Привет всем. В виду того, что cms из коробки для меня сложны, а переделывать сложные коды мне пока не под силу
я решил попробовать написать для себя свой скрипт, который будет такой как мне хочется.
Конечно некоторые части позаимствовал с этого сайта, такие как постраничная навигация, хлебные крошки и т.д.., за что огромное спасибо людям которые их выложили!

1 вопрос - Какие данные как лучше фильтровать?

Например при авторизации пользователь вводи
имя, фамилия, ник, мыло, пароль

Ему так же будут доступны
комментирование
добавление сообщений на странице своего акаунта
переписка с админом

При добавлении новости или комментария пользователю будут доступны несколько HTML тегов для форматирования



Второй вопрос про авторизацию

Сейчас у пользователей есть группа group, где два параметра
1 - админ
0 - просто пользователь

Как лучше делать авторизацию?
1 - общая для всех, для меня и для юзеров
2 - отдельная, для админа своя, для пользователей своя

проверка админ или не админ после авторизации идет через сессии
типа
CODE (text):
скопировать код в буфер обмена
  1. if ($row['group'] == '1')
  2.         $_SESSION['admin'] = true;




3 вопрос - ЧПУ.
Сейчас у меня так

index.php
CODE (text):
скопировать код в буфер обмена
  1. $_URL = preg_replace("/\/+/",'/',$_SERVER['REQUEST_URI']);
  2. $_URL = preg_replace("/^\/(.*)\/?$/U",'\\1',$_URL);
  3. $_URL = preg_replace("/^(.*)\?.*$/U",'\\1',$_URL);
  4. $_URL = explode("/", $_URL);
  5.  
  6. switch (@$_URL[0])
  7. {
  8.         case 'user':
  9.                 include "inc/user.php";
  10.         break;
  11.         case 'news':
  12.                 include "inc/news.php";
  13.         break;
  14.         default:
  15.                 include "inc/default.php";
  16. }


Далее, например
news.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. switch (@$_URL[1])
  2. {
  3.         case 'one':
  4.  
  5. //........
  6.  
  7.                 break;
  8.  
  9.         default:
  10.  
  11. //ТУТ ПОСТРАНИЧНЫЙ ВЫВОД НОВОСТЕЙ
  12.  
  13. }


Постраничный вывод реализовал как ту http://php.su/articles/?cat=examples&page=062, малость его переделав.

Вот как правильно сделать ЧПУ с постраничностью?

Сейчас у меня так
site.ru/news - все новости
site.ru/news?page=1 etc...

Как реализовать, чтобы было
site.ru/news/1
или
site.ru/news/page/1

и чтобы ЧПУ было у новости
site.ru/news/moya-stranica

moya-stranica - будет браться из БД

С ЧПУ реально тяжко. Перерыл кучу сайтов и форумов, но ГОТОВОГО решения, описанного от корки до корки не нашел.

Если у кого-то будет минут 5 свободного времени, ответьте пожалуйста!
Заранее спасибо.
dropoff Отправлено: 27 Декабря, 2010 - 00:25:53 • Тема: Вопросы по Smarty • Форум: Программирование на PHP

Ответов: 2
Просмотров: 304
Спасибо!
Именно то, что нужно было.
dropoff Отправлено: 26 Декабря, 2010 - 15:58:42 • Тема: Вопросы по Smarty • Форум: Программирование на PHP

Ответов: 2
Просмотров: 304
Привет всем.
Надеюсь на помощь в моей проблеме.

Для своего сайта-портфолио решил попробовать написать маленький скрипт который будет выводит несколько типов данных
1 - лист портфолио
2 - лист новостей
3 - страницы

Так как постоянно приходится работать с шаблонизатором Smarty, решил и его прикрутить, чтобы жизнь медом не казалась))

Структура така

control - админка
engine - конфиги, smarty, функции и т.д...
theme - файлы шаблона
tmp - кэш и т.д...
index.php

шаблонизатор подключил, написал простенький вывод новостей, передал его в шаблоне - все нормально работает.
Но теперь столкнулся с тем, что нужно все выводить через index.php

Новости сейчас выводятся через файл news.php
PHP:
скопировать код в буфер обмена
  1. if (isset($_GET['n_id'])) {
  2.  
  3.         $query_news = mysql_query("SELECT * FROM ".T_NEWS.", ".T_NEWS_CAT." WHERE n_id = ".$_GET['n_id']."");
  4.         $news = mysql_fetch_array($query_news);
  5.  
  6.         $smarty->assign('ID',   $news['n_id']);
  7.         $smarty->assign('URL',  $news['n_url']);
  8.         $smarty->assign('TITLE',$news['n_title']);
  9.         $smarty->assign('TEXT', $news['n_text']);
  10.         $smarty->assign('DATE', $news['n_date']);
  11.  
  12.         $smarty->display($S_THEME.'news_single.tpl');
  13.  
  14. } else {
  15.  
  16.         $query_news = mysql_query("SELECT * FROM ".T_NEWS.", ".T_NEWS_CAT." ORDER BY n_date LIMIT 10");
  17.  
  18.         $content = array();
  19.  
  20.         if (mysql_num_rows($query_news) > 0) {
  21.                 while($news = mysql_fetch_array($query_news)) {
  22.                         $content[] = array (
  23.                                 'ID'    =>      $news['n_id'],
  24.                                 'URL'   =>      $news['n_url'],
  25.                                 'TITLE' =>      $news['n_title'],
  26.                                 'TEXT'  =>      $news['n_text_short'],
  27.                                 'DATE'  =>      $news['n_date']
  28.                         );
  29.  
  30.                 }
  31.         }
  32.  
  33.         $smarty->assign('content',$content);
  34.         $smarty->display($S_THEME.'news.tpl');
  35.  
  36. }


Проблема в том, что не могу понять как сделать следующее
В папке theme создать файл index.tpl.
Вывод news.php повесить на какой-то тег, например, {$NEWS} и передать его в index.tpl
Т.е. чтобы в index.tpl уже построить HTML каркас и расставить все по своим местам.

Если где-то в коде есть ошибки, то простите, я новичок)

Заранее спасибо.

Страниц (21): В начало « ... 13 14 15 16 17 18 19 20 [21]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB