Редактировать на месте

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

Аватар пользователя nike-17 nike-17 30 июля 2008 в 14:02

Прошу не пинать - я опытный Джумлавод/
Однако решил попробывать друпалю
Большенстов вопросов мне удалось решить самому кроме некторых
Прошу помощи у сообщества
Итак
- Как редактировтаь материалы на месте
в джумла есть замечательная функция - около заголовка какждого материала появляется пиктограмка(если права доступа позволяют) "редактировтаь" нажав на нее можно править материалы/
как реализовтаь подобное в друпале..??
- как прикрутить календарик к полю дата публикации
простенький календарик на Яваскрипте для удобство контент менеджера
- в джумла есть удобная фича mosimage загружаешь какртинку? ставишь тег и за место этого тега появляется маленькая картинка/- как добавить к материалу еще один пункт скажим подписаь, доступную для изменения для каждого матеирала
Буду очень признателен за информацию по этим вопросам
Если будут вопросы по Джумле стучитесь

Комментарии

Аватар пользователя vicccy vicccy 30 июля 2008 в 14:40

Если кликнуть на заголовок, то под заголовком появятся надписи: "посмотреть" и "изменить". Естественно, если Вы вошли как админ.
Еще это можно сделать из списка всех материалов:
?q=admin/content/node

Аватар пользователя nike-17 nike-17 30 июля 2008 в 15:23

Спасибо за ответ но я не понял куда надо кликать чтобы править материал на месте
Я имел ввиду править с фронтенда а не из админки ///

Аватар пользователя vicccy vicccy 30 июля 2008 в 15:49

На месте. На страничке нужно нажать заголовок, чтобы открылся материал. И если установлены права на редактирование, появятся эти надписи. Или опять не то?)

Аватар пользователя nike-17 nike-17 30 июля 2008 в 17:10

неа
но вопрос я решил следующим образом
/edit">Редактировать
в node.tpl.php
терь осталось допереть как показывать только некоторым группам ползователей а не всем//
В любом случа спасибо что откликнулись - знал бы как посавил бы плюсик или вроде того

Аватар пользователя Dr. Hardcore Dr. Hardcore 30 июля 2008 в 17:48

Все действия пользователя разрешаются или запрещаются согласно роли, присвоенной пользователю. То есть пользователь может редактировать только свои материалы, определенные материалы, все материалы. В аттаче к посту картинка с менюшкой изменить.... и это не админка, а вырезка из записи моего блога на drupal.ru где админских прав у меня нет=) Для календарика нужно либо поправить темку, либо модуль node, найти код где выводится дата публикации и добавить туда необходимое. Для добавления каких-то элементов к материалу можно использовать CCK

Аватар пользователя FrEEz10 FrEEz10 30 июля 2008 в 17:55

Ага.. а если вы пытаетесь сделать чтоб «кнопка» изменить была у материала при просмотре сокращенной версии то user_access() вам в руки... это чтоб понять «как показывать только некоторым группам ползователей а не всем»

Аватар пользователя nike-17 nike-17 31 июля 2008 в 10:24

Во вложении пример кода как я реализовал кнопки Удалить и Редакировать в стиле Joomla
код можно поместить напрмиер в node.tpl.php
так же прилогаю скриншот как оно выглядит//если кому надо могу и иконки присовокупить

Аватар пользователя FrEEz10 FrEEz10 31 июля 2008 в 18:08

Не хочу показаться занудой, но мне кажется что немного правильнее это будет сделать так:

<?php if(node_access('update', $node)): ?>
...
<?php endif; ?>
<?php if(node_access('delete', $node)): ?>
...
<?php endif; ?>

Smile
Хотя я могу и ошибацо!

Аватар пользователя FrEEz10 FrEEz10 31 июля 2008 в 18:42

Ну точно.. ошибся... лучше так:

<?php if (!$page): ?>
...
  <?php if(node_access('update', $node)): ?>
        ...
  <?php endif; ?>
  <?php if(node_access('delete', $node)): ?>
        ...
  <?php endif; ?>
<?php endif; ?>

И

...<?php print $node_url?>/edit">...

тоже мне кажется не верным... будут синонимы - будет конфуз. Использовать $node->nid вернее!

Аватар пользователя FrEEz10 FrEEz10 2 августа 2008 в 14:44

Функция node_access нормально так описана тут
А $node->nid никак не работает. Там просто содержится ИД ноды. А $node_url содержит URL страници. Если используются синонимы, то там будет синоним. В результате по ссылке как у вас

href="<?php print $node_url?>/edit"

, если у страницы есть синоним, вы получите 404. Так что лучше написать

href="/node/<?php print $node->nid?>/edit"