- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здраствуйте.
Пытаюсь сделать простейшую CMS, которая в качестве базы данных использует текстовые файлы. Формат сайта - блог. То есть основной контент сайта - статьи, краткое описание которых выводится на главной странице. Но так как материал постепенно будет добавляется, то нужно сделать на главной странице постраничный навигатор.
Короче говоря, нужно сделать простой переключатель страниц. Что-то типо этого:
[ATTACH]97350[/ATTACH]
Подскажите, как лучше это реализовать? CMS пишу на PHP.
Ок, наводящий вопрос - в одном файле хранится одна единица контента или несколько?
Примеров в сети масса. Делается следующим образом (без кода, только мысли):
1. Указываем количество статей отображаемых на странице
2. Нужно произвести подсчет количества статей. Тут уж как у вас реализовано в одном файле, каждая статья в отдельном файле или же mysql. поэтому делается по разному.
3. Узнаем на сколько страниц нам разбить записи. Должно получиться целое число
4. Проверяем на какой странице пользователь, страницу делаем не активной.
5. Выводим постраничную навигацию
6. Выводим статьи на страницу
Ок, наводящий вопрос - в одном файле хранится одна единица контента или несколько?
В одном файле - одна еденица контента.
1. Указываем количество статей отображаемых на странице
2. Нужно произвести подсчет количества статей. Тут уж как у вас реализовано в одном файле, каждая статья в отдельном файле или же mysql. поэтому делается по разному.
3. Узнаем на сколько страниц нам разбить записи. Должно получиться целое число
4. Проверяем на какой странице пользователь, страницу делаем не активной.
5. Выводим постраничную навигацию
6. Выводим статьи на страницу
С этим-то всё ясно и подобных примеров в сети действительно масса, да вот только все они расчитаны на CMS, использующие Базы Данных. А в моем случае Базу Данных заменяют текстовые файлы.
От того, используете вы БД или нет, зависит только пункт №2.
Если у вас по одной статье в файле - то вам, получается, надо просто посчитать количество файлов общее и разделить на количество записей на странице (ну и округлить в большую сторону до целого).
Чтобы вывести нужные записи - просто пропустите при считывании n первых файлов, где n = (номер страницы -1)*количество записей на странице.
Или задавайте вопрос поконкретнее, что вас интересует. Какой из этих 6 пунктов вызывает сложности?
Проблем с сортировкой статей по страницам нет, сложности возникли в другом.
Или задавайте вопрос поконкретнее, что вас интересует. Какой из этих 6 пунктов вызывает сложности?
Попробую задать конкретный вопрос. Допустим, index.php - главная страница моего сайта, на который выводится n последних статей (где n - количество статей, выводимых на одной странице). Пользователю, скажем, нужно посмотреть более старые статьи и для этого он при помощи переключателя страниц переходит на страницу 2, на которой отображается n более старых статей. Так вот, страницу 2 нужно создавать отдельно, например вида index_2.php? Или можно сделать так, чтобы страница 2 отображалась на главной?
Проверяем значение параметра page, передаваемого Get запросом ?page=1 и от сюда пляшем дальше по пунктам. Т.е. файл будет один, index.php, но ссылки будут выглядеть следующем образом index.php?page=1 index.php?page=2 и тд.
Вот такая книжка в начале помогала, там есть примеры написания форума и других приложений. Авторизация разобрана, в общем есть все, что может пригодиться для написания
Только в качестве базы - Mysql
Способ понятен, но, как я уже говорил, в моем случае БД - текстовые файлы.
Продолжаю искать решение ситуации 🙅
Передавайте в номер страницы в качестве параметра в скрипт index.php
А дальше в скрипте смотрите какая страница и показывайте нужные записи.
Хотя можете под вторую страницу создать и отдельный скрипт - но это плохой путь, вот станет у вас 100 страниц - придется для изменений 100 скриптов править :)
Дикий пионер добавил 08.10.2011 в 19:46
Добавлю еще - главная - это только одна страница сайта, если у вас адрес будет index.php?page=2 - то это будет уже не главная страница.
Дикий пионер, вот это хороший совет. Поработаю над этим скриптом.
Немного поработал над этим. Вот что получилось.
Под основным контентом сайта на главной странице я разместил такой код, который содержится в файле nav.php и подключается при помощи функции include:
А в том месте, где должен быть расположен список материала, вставил такой php-код:
Правильно ли я все понял и сделал?