andriy.olischuk: Комментарии

Главные вкладки

26 августа 2009 в 16:47

Теоритически да раз есть поддержка PHP. Но что-то мне подсказывает, что надо установить и потестить.
А в идеале - ещё и сюда краткий репорт написать о собственных ощущениях Smile

26 августа 2009 в 16:43

Если немного, то можно прямо по фтп. Если много - лучше развернуть dev среду и работать на ней. Как минимум не убъёте боевой сайт по случайности.
Понятие много/немного вычисляется просто - много, это когда время на развёртывание тестовой среды будет меньшим, чем время самой разработки (с учётом, что наработки потом ещё нужно заливать на боевой контент). Если наоборот - то легче поправить прямо на сайте.
В любом случае не забывайте про бекап.

Что касается доверия. Если у вас есть ФТП, то собственно чего ещё заказчику бояться?

17 августа 2009 в 15:52

Варианты:
1. Менять в php.ini если туда есть доступ.
2. Если доступа нет, то написать хостеру и попросить сделать register_globals в off.
3. Если хостер отказывается - сменить хостера.

Есть ещё вариант прописывать ini_set(), но это будет выглядеть как костыль. Опять же, если хостер разрешает.

13 августа 2009 в 12:06

Если я верно понял то вес хранится в элементе $node->field_weight['value'].
Значит схема примерно такая:

1. В template.php завести функцию phptemplate_get_medal($value). Где не выполнять никаких запросов, а просто сравнивать, если $value >= 90, то возвращать HTML медальки (или наименование CSS класса, если медалька рисуется в CSS). Если меньше 90, то пустая строка или класс CSS без медальки.

2. В шаблоне node-product.tpl.php в нужном месте написать:

13 августа 2009 в 11:08

Если в template.php написали функцию, скажем, phptemplate_get_medal(), то в шаблоне её так и вызывайте. А какой запрос вы там прописали? В эту функцию достаточно передавать вес из места вызова, а возвращать HTML.

13 августа 2009 в 10:56

Как говорят на одном сайте - вы не должны этого хотеть. Общие данные лучше разделять из модуля или template.php, не стоит разбрасывать источники данных по шаблонам. Просто в качестве примера - создайте в template.php функцию themename_get_myvar() и тяните её и в блоках и в любых шаблонах.

12 августа 2009 в 19:14

Уточните вопрос - не понятно что за проверка имеется ввиду.
Если речь идёт о PHP-коде для проверки, авторизован ли текущий пользователь, то user_is_logged_in() как один из вариантов.

12 августа 2009 в 16:56

Да, у представлений свои шаблоны. Если медалька будет выводится во многих местах, то вероятно имеет смысл написать модуль или функцию в template.php, в которую будет передаваться id ноды, а возвращаться HTML. Иначе, при изменении кода медальки есть шанс запутаться в туче шаблонов.

12 августа 2009 в 13:13

Если не надо как-то сортировать/фильтровать, а просто выводить медальку на нужном продукте, то всё можно решить в шаблоне. В шаблон node-ваш_тип_контента.tpl.php как я понимаю у вас передаётся значение веса. Значит в самом шаблоне вставьте условную конструкцию - если вес больше нужного, то выводить HTML медальки.

Чтобы посмотреть в какой переменной хранится этот самый вес - сделайте print_r($node) в файле шаблона.

12 августа 2009 в 11:46

Например написать модуль с одной единственной функцией mymodule_cron(). В которой удалять все устаревшие записи из таблицы. Устаревший, это если таймстамп в поле expire меньше чем выдаёт time().

11 августа 2009 в 13:59

Абсолютно согласен с restyler - действительно, если убрать из Drupal views, cck, node_load и прочие вкусности - то мы получаем не самый лучший голый фреймворк, гораздо интереснее уж тогда будут ZF или Kohana. Друпал для своих проектов выбирают, имхо, по двум причинам - развитое API (кастомизация в целом) и возможность за небольшое количество времени собрать нужный функционал, прежде всего из-за наличия готовых решений. Железяка не так дорога как время разработки, конечно если смотреть глазами не просто программиста, а с точки зрения выживания и развития проекта в целом.

4 августа 2009 в 14:48

если память не подводит, то на шаге указания реквизитов подключения к БД есть раскрывашка Advanced, где указывается к примеру порт. Там же должен быть и нужный вам выбор.

4 августа 2009 в 14:45

Из ваших замечаний:
1) Настраивается в conten types. Просто укажите в типе содержимого Forum topic, что форма добавления комментария должна идти на той же странице. В таком случае форма ответа будет видна по умолчанию, а так же будет возможно нажимать reply на конкретном ответе из темы и отвечать уже сугубо на него.
2) Тему сообщения можно выключить там же. На самый крайний случай можно открыть шаблон comment.tpl.php и вырезать вывод заголовка оттуда, чтобы не мешался.
3) И это решается там же.

4 августа 2009 в 12:11

Ошибки вида "table doesnt exist" для таких таблиц как system и variable говорят о том, что Друпал недоустановлен или база повреждена. Скорее первое. Просто установите заново, но при установке выбирайте mysql вместо mysqli тогда, раз хостер не поддерживает первое.

4 августа 2009 в 12:06

Варианта два как минимум:
1. CCK+Views.
- Создаётся тип контента, настраиваются для него поля (фио, паспорт etc).
- Создаётся представление (views) в виде страницы или блока (зависит от компоновки вашей главной страницы).
- Выводится ссылка "добавить" ведущая на стандартное добавление экземпляра этого типа контента.