AndreyL: Блог

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

Изменить путь страницы сборщика новостей

27 декабря 2010 в 13:31

Всем привет!
На сайте использую сборщик новостей - aggregator.
Адрес страницы, на которой отображаются собранные новости - http://www.mysite.ru/aggregator/categories/4
Страница, на которой расположен анонс - http://www.mysite.ru/news
Соответственно, хотелось бы изменить страницу собранных новостей на http://www.mysite.ru/news/theme/4

Нужна статистика (не посещений, а данных в таблице)

2 декабря 2010 в 10:19

Нужен модуль (если такой существует) для отображения статистики по имеющимся данным на сайте - графики, таблицы.
Или какие еще могут быть подходы? - sql, php (???) - где и что можно почитать на эту тему?

Search_by_page и его работа

15 июня 2010 в 23:07

Использую этот модуль, т.к. "родной" поиск друпала не ищет по созданным запросами таблицам. Т.е. обычный текст он видит и ищет по нему, а в самой таблице не видит ничего. Для построения таблиц используется Content template с запросом.
Search_by_page по таблицам ищет, и по тексту тоже. Но:
1. не работает функция "подсветки" найденного в результатах поиска.
2. не ищет по "дочерним" страницам: запрос делит вывод таблицы на несколько страниц; по первой поиск работает, а по другим - нет.

Связать название и url страницы в запросе

10 июня 2010 в 14:38

Подскажите, как связаны между собой title страницы и ее url?
Надо использовать эту связь в запросе к базе данных.
Нашел nid,lid,pid и др. столбцы в таблицах, но как они между собой связаны не понятно.
Задача, собственно: при сравнении фразы с названиями страниц добавлять к ним url.

Все, задача решена другим путем.

Индексация страницы

4 июня 2010 в 23:45

Проблема за проблемой... С модулями еле разбираюсь, а тут еще такое...
На сайте есть запрос выводится в виде таблицы, которая бьется на страницы, по 10 строк на каждой (код - см. ниже).
Первые страницы участвуют в поиске на сайте, а остальные - нет! (насчет поисковиков - не знаю) Как, если это возможно, исправить?
И еще: возможно ли добавить кнопку/ссылку "посмотреть все", т.е. чтобы при переходе по ней показывались все записи?

<?php
 
print $body;
  if(!(
$node menu_get_object()))
    return;
 
  
$count_per_page 10
  
$sql "SELECT Название, Фирма, Цена FROM Таблица WHERE Имя='%s' ORDER BY Фирма";
  
$sql_count "SELECT COUNT(*) FROM Таблица WHERE Имя='%s'";
  
$result pager_query($sql,$count_per_page0$sql_count$node->title);
 
  
$rows = array();
  while(
$row db_fetch_object($result)){
  
$header = array('Название по прайсу''Мед. компания''Цена услуги');
    
$rows[] = array($row->Название$row->Фирма$row->Цена);
  }
 
  
$output theme('table'$header$rows, array());
  
$output .= theme('pager'NULL$count_per_page0);
  print 
$output;
?>

Фильтрация запроса

2 июня 2010 в 1:50

Вот, еще один вопрос назрел.
Нужно организовать фильтрацию вывода запроса.
Пока получается такой код:

<form method='post'>
 <select name="clinic"> <!--выпадающий список-->
 <option value="Клиника1">Клиника2</option>
 <option value="Клиника2">Клиника2</option>
 <option value="Клиника3">Клиника3</option>
 </select>
 <input name="Submit" type='submit' value='Отправить'>
</form>

<?php
 print $body;
if (!empty($_POST['clinic'])) { echo $_POST['clinic']; };
  if(!($node = menu_get_object()))
    return;
 
  $count_per_page = 10;
  $sql = "SELECT Название, Фирма, Цена FROM Таблица WHERE Имя='%s' and WHERE Фирма='$clinic' ORDER BY Фирма";
  $sql_count = "SELECT COUNT(*) FROM Таблица WHERE Имя='%s' and WHERE Фирма='$clinic'";
  $result = pager_query($sql,$count_per_page, 0, $sql_count, $node->title);
 
  $rows = array();
  while($row = db_fetch_object($result)){
  $header = array('Название по прайсу', 'Мед. компания', 'Цена услуги');
    $rows[] = array($row->Название, $row->Фирма, $row->Цена);
  }
 
  $output = theme('table', $header, $rows, array());
  $output .= theme('pager', NULL, $count_per_page, 0);
  print $output;
?>

Я так понимаю, что параметр $clinic или не передается, или передается неправильно. Помогите, пожалуйста. Знаю, что уже злоупотребляю, но за пару недель sql мне не осилить, тем более, что это не единственная задача...

Pager

31 мая 2010 в 22:55

Нужна помощь в разбитии запроса на страницы.

<?php
 
print $body;
  if(!(
$node menu_get_object()))
    return;
 
  
$result db_query("SELECT Название, Фирма, Цена FROM Таблица where Имя='%s' ORDER BY Фирма"$node->title);
  
$rows = array();
  while(
$row db_fetch_object($result)){
  
$header = array('Название по прайсу''Мед. компания''Цена услуги');
    
$rows[] = array($row->Название$row->Фирма$row->Цена);
  }

  print 

theme('table'$header$rows, array());

?>

Как ни игрался с "pager_query" - либо отсутствие таблицы вообще, либо отсутствие пейджинга.

P.S. Дополнительные модули не помогли: один из них (pagination, вроде) ломал таблицу на второй и последующих страницах; другой вообще не видел таблицу запроса, а "дробил" только "руками" набранный текст.

Индексирование содержания страниц (содержание - из запроса)

12 мая 2010 в 15:24

Возможна ли индексация (т.е. вывод при поиске) фраз/слов, если они располагаются на каждой странице запросом из базы данных?
Сейчас на сайте проиндексированы только "ручками" набранные слова.

Нужно передать заголовок текущей ноды в запрос

28 апреля 2010 в 4:21

Задача, наверное, не сложная, но я не имею вообще никакого опыта в составлении запросов к БД.
Вот, "накрутил" такой:

<?php
    $q = "SELECT name, id FROM `services`";
    $result = mysql_query($q);
    print "<table>\n";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "\t<tr>\n";
        foreach ($line AS $col_value) {
            print "\t\t<td>$col_value</td>\n";
        }
        print "\t</tr>\n";
    }
    print "</table>\n";
    mysql_free_result($result);
    mysql_close($link);

?>

Конечно, не сам, в подавляющей части, а "поиском" по drupal.ru.
Запрос надо изменить так, чтобы определялось какие name и id будут выводиться:
должны отображаться только те, название которых совпадает с названием страницы (ноды).
Пока отображаются, конечно, все.
Заголовок страницы (ноды) я понял как получить:

<?phpif ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
  $node = node_load(arg(1));
  $title = $node->title;
  print "<h4>$title</h4>";?>

но не знаю как его дальше использовать: как ни пытался - запрос выдает пустой результат.

Работа с базой данных

26 апреля 2010 в 10:00

Здравствуйте.
Вот, возник вопрос такой.
Есть сайт, работающий на drupal. Есть таблица, которую я скопировал в его БД (создана отдельно, с другими таблицами не связана).
Задача заключается в том, чтобы "выдергивать" из нее значения и помещать в таблицу.
Например:
Таблица в базе данных
1_____________2_____________3_____________4_____________5
Стол__________Стул__________Табурет_______Кресло________Тумба
5руб._________6руб.__________5руб._________8руб.__________9руб.

Нужно, по клику пользователя на фразе "Пять рублей" выдать ему:
1_____________Стол_____________5руб.
2_____________Табурет__________5руб.

Вот, собственно, как это организовать? Запрос создать (этот ли или что-то по-другому сделать), я, возможно, и смогу (хотя, тоже - с трудом). Но вот как "привязать" этот запрос к url - никак не могу понять. Т.е. нужно создать ссылку, по которой выполнялся бы запрос к таблице этой БД.
В общем, прошу помощи специалистов)

Path не проверяет наличие синонима

10 февраля 2010 в 7:08

Проблема в том, что при создании новой страницы, указывая в настройке адреса, например "news/one/two", синоним присваивается независимо от того назначен он какой-либо странице или нет. Т.е. даже если у меня уже есть страница www.mysite.ru/news/one/two, синоним "news/one/two" будет присвоен вновь создаваемой странице (я, например, могу не помнить, что данный синоним уже использован; или не знать об этом, т.к. его использовал другой пользователь сайта).

Не могу настроить gzip_css [ЗАКРЫТО]

6 декабря 2009 в 2:41

При включении модуля gzip_css грузится сразу 2 css - style.css из установленной темы и css, созданный модулем. gzip, вроде, при этом не включается, т.к. в свойствах страницы не вижу этого, а dust me selectors (дополнение к файрфоксу) определяет 2 css - style.css и второй (с очень длинным названием, который, наверное модулем gzip_css создан).

При попытке включить gzip через .htaccess, получаю абракадабру на страницах сайта.
В чем могут быть проблемы?

Да, и возможно ли в drupal осуществить т.н. "отложенную загрузку" java-script?

Листинг нод

10 ноября 2008 в 3:13

Публикую на сайте страницы, на которых расположены таблицы (публикую типом материала "страница").
Возможно ли осуществить листинг страниц, указывая какая является первой, которая второй и т.д.?
Стандартный метод разбиения больших таблиц не подходит, т.к. таблица большая не в высоту, а в ширину.
В общем, нужно, чтобы внизу страницы отображались ссылки на 1, 2 и т.д. страницы.
Искал какой-нибудь модуль, нашел только custom pagers. Только я не врубился как и что в нем делать.