Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание CMS для сайта-визитки

 PHP.SU

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


 Страниц (2): [1] 2 »   

> Без описания
morph-x
Отправлено: 20 Октября, 2011 - 01:55:51
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Мне нужно создать CMS для сайта-визитки. Она должна быть рассчитана на людей, которые плохо умеют пользоваться компьютером. Уже несколько дней пытаюсь хотя бы нормально начать ядро. Может вы поможете? Подскажите, пожалуйста, как сделать хотя бы 2 уровня вложенности (т.е. может быть просто страница, а может быть страница -> подстраница) и как правильнее это сделать. Я на этом завис Огорчение . Заранее буду очень благодарен!
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 02:10:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




morph-x, а ведь все оказалось не таким простым как выглядело на первый взгляд? Подмигивание
И как вот тут сейчас поступать?
Писать скатерть "Создание ЦМС с нуля"?
Слать гуглить?
Путей решения несчетное кол-во...
Каждый из путей наличие знаний.
Чем больше знаний - тем меньше путей, но тем они более ёмки.

Может и не надо такие абстрактные вопросы задавать?
Даже про ваши "страница -> подстраница" тут скатерть писать надо.
А потом вы будете холивары читать про то, что один делает так, а другой эдак...

Как быть?
 
 Top
morph-x
Отправлено: 20 Октября, 2011 - 02:39:13
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
morph-x, а ведь все оказалось не таким простым как выглядело на первый взгляд? Подмигивание


Да, как вы правы Улыбка

DeepVarvar пишет:
Может и не надо такие абстрактные вопросы задавать?


А что я не так спросил? Мне интересна сама логика, как это сделать. Конечно, я рылся в чужих исходниках (Template CMS, CMSimple, WordPress) но теперь меня мучает мысль какой из методов будет лучше использовать (в моем случае) у кого какие преимущества (а ведь преимущества с исходного кода не понять Улыбка ). Поэтому я и обращаюсь к вам. Насчет гугла, я даже не знаю как правильно сформировать запрос...

DeepVarvar пишет:
Как быть?


Вам решать... Но если можете, поделитесь ссылкой на какую-нибудь статью, пожалуйста.

(Отредактировано автором: 20 Октября, 2011 - 02:47:30)

 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 02:54:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Что я встречал?
Встречал что есть каталог и в нем есть несколько типов:
Продукт, Раздел, Производитель.

Встречал что есть блоги и в них есть несколько типов:
Блог, Раздел, Тематика, Теги.

Встречал новости и там та же песня..

Что лучше?
Помоему принцип один.
Как это делается?
Одна таблица на каждый тип + если надо, таблицу связей меж ними.
В двух словах - так.
(Добавление)
В вашем случае типа два:
Раздел и Документ.
Отсюда и пляшите.
 
 Top
morph-x
Отправлено: 20 Октября, 2011 - 03:05:36
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Спасибо. Я тут думаю еще про несколько методов. Можно я опишу какие-то методы или еще что-то, может люди что-то оценят, обсудят, а может кому-то и пригодится. А то мне как-то страшно их использовать, когда не знаю что о них думают другие. Вы не против?
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 03:08:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Никто не против, я думаю.
 
 Top
morph-x
Отправлено: 20 Октября, 2011 - 04:31:40
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Вот первый метод. Таблица со страницами будет выглядеть примерно так:

NL - это уровень вложенности (от Nesting Level). Если NL = 0 значит что страница в корне (родительская страница), если 1 - то это дочерняя страница. Т.е. получается как бы иерархия, и в данном примере она выглядит приблизительно так:

Животные
- Кошки
- Собаки
Природа
- Цветы
- Деревья

Теперь если мы выводим какую-то страницу, и ее NL = 0, то нужно отображать ссылки на следующие страницы пока не встретится следующая родительская страница (или не закончится список). Можно, конечно, не просто ссылки, но и содержимое или его часть, но это уже дело вкуса.

Плюс этого метода в том, что для хранения иерархии страниц можно использовать лишь одну таблицу, да и понять его, как мне кажется, проще.

(Отредактировано автором: 20 Октября, 2011 - 04:40:39)

 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 04:36:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Гон. Вам нужно точно знать кто кому папа.
 
 Top
morph-x
Отправлено: 20 Октября, 2011 - 04:48:08
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
Гон. Вам нужно точно знать кто кому папа.

А что мешает? Здесь все понятно. Кстати, можно переместить страницу Цветы выше и она будет принадлежать уже странице Животные. Можно сделать сортировку страниц (т.е. сам редактор списка страниц) как это сделано в Drupal для сортировки терминов, тогда вообще будет классно (особенно для пользователя Подмигивание ).
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 04:50:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




morph-x пишет:
переместить страницу Цветы выше
Как ???
 
 Top
morph-x
Отправлено: 20 Октября, 2011 - 04:58:01
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
morph-x пишет:
переместить страницу Цветы выше
Как ???

Можно ввести еще один параметр - POS - позиция, куда записывать позицию страницы. Так же здесь можно поменять значениями 5-й и 4-й ряды таблицы.
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2011 - 05:42:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




И как вы себе представляете алгоритм вычисления "рокировки" страниц по уровню + позиции, когда юзер захочет перенести "деревья" в самый верх над "животными" и сделать эти "деревья" разделом?
(Добавление)

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

(Добавление)
morph-x пишет:
Можно ввести
а можно вывести.. Так введите же Радость
 
 Top
morosit
Отправлено: 20 Октября, 2011 - 06:51:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




morph-x пишет:
Если NL = 0 значит что страница в корне (родительская страница), если 1 - то это дочерняя страница.

ИМХО NL дочернеи страницы должен быть равен ID родительской
 
 Top
morph-x
Отправлено: 20 Октября, 2011 - 17:07:53
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
И как вы себе представляете алгоритм вычисления "рокировки" страниц по уровню + позиции, когда юзер захочет перенести "деревья" в самый верх над "животными" и сделать эти "деревья" разделом?

После того как он перенесет "деревья" в самый верх ему нужно будет "сдвинуть" на +1 все страницы ниже. Алгоритм следующий: когда вы выводите страницу, то вы записываете ее NL во временную ($tmp_nl) переменную и выводите ссылки на все страницы ниже, пока не встретите страницу с NL >= $tmp_nl.

morosit пишет:
ИМХО NL дочернеи страницы должен быть равен ID родительской

Нет, NL - это УРОВЕНЬ вложенности. ID родительской странички лучше записывать в PARENT или PARENT_ID (так более логично).

(Отредактировано автором: 20 Октября, 2011 - 17:09:43)

 
 Top
caballero
Отправлено: 20 Октября, 2011 - 17:21:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




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


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB