
más nem jó?
Az üzenet a $_SESSION-ben tárolódik. Miért fontos, hogy drupal_set_message() segítségével írd ki?
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

továbbra sem értem
Az nem világos, hogy miért nem fűzöd a $node->content tömbhöz $op = view stádiumban, ha már egyszer ott vagy?
<?php if ($op == 'view' && ...további feltételek...) { $node->content['valami'] = array( '#value' => 'valami érték', '#weight' => -100, ); } ?>
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

túlbonyolítod
A mondatban nem a címen van a hangsúly, hanem a drupal_set_message()-n.
De miért ragaszkodsz a drupal_set_message()-hez? Nem mindegy, hogy egy adott HTML tartalmat a drupal_set_message() ír ki, vagy a node_view(), vagy a turoscsusza(), vagy a makosteszta()?...
Egyébként te is nyugodtan betehetsz bármit a $_SESSIONS-be, nem kell feltétlenül a drupal_set_message()-en keresztül dolgozni vele.
Ha leírod, miért ragaszkodsz a drupal_set_message()-hez, szerintem előrébb leszünk.
Ha az a feladat, hogy x node megjelenítésekor y és z node megjelenjen egy jobb oldali blokkban, y és z címe pedig egy blokkban a node felett, akkor én erre írnék egy egyszerű kis blokk-modult, ami pl. arg()-tól függően elkészíti a két blokk tartalmát. A hook_nodeapi() nem blokk-készítésre való.
Ha nagyon muszáj, hogy üzenetnek nézzen ki, akkor CSS-ben tennék köré vékony rózsaszín vonalat. ;)
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

!$may_cache
if ($may_cache) {
Azt mondod a Drupalnak, hogy betárazhatja, aztán csodálkozol, hogy betárazza? :) Lásd Webchick magyarázatát.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

sminkben
Sminkben átkergeted a t()-n, és akkor az első oldallekérés után elérhetővé válik a felületfordítási oldalon.
content-field.tpl.php:
<?php if (!$field_empty) { ?> <div class="field field-type-<?php print $field_type_css; ?> field-<?php print $field_name_css; ?>"> <?php if ($label_display == 'above') { ?> <div class="field-label"><?php print t($label); ?>: </div> <?php } ?> <div class="field-items"> <?php $count = 1; foreach ($items as $delta => $item) { if (!$item['empty']) { ?> <div class="field-item <?php print ($count % 2 ? 'odd' : 'even'); ?>"> <?php if ($label_display == 'inline') { ?> <div class="field-label-inline<?php print($delta ? '' : '-first'); ?>"> <?php print t($label); ?>: </div> <?php } ?> <?php print $item['view']; ?> </div> <?php $count++; } } ?> </div> </div> <?php } ?>
Persze lehet mondani, hogy ez így nem szép. De legalább működik.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

elérhetőek a stringek?
Ez a "megoldás" működik? Szerintem éppen az a probléma, hogy a felhasználó által megadott stringek nem érhetők el a szokásos felületfordítási felületen – csak ha átkergeted a t()-n, ami ugyebár nem erre való.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

cache?
Töröld a gyorstárat a Teljesítmény oldalon.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges

Backup and Migrate
Bekapcsolod a Backup and Migrate modult, kiexportálod az adatbázist, megkeresed a system tábla adott sorát és átírod a státuszt nullára, utána visszaimportálod. Próbáltad, és nem működik?
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
faceted search
Kisebb webhelyekre: Faceted Search modul.