alex1989 képe

Üdv!
Már harmadszor kezdem az elejétől, de mihelyst a system modules page.tpl.php-ból átmásolom azt a néhány sort:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>">
 
<head>
  <title><?php print $head_title; ?></title>
  <?php print $head; ?>
  <?php print $styles; ?>
  <?php print $scripts; ?>
  <script type="text/javascript"><?php /* Needed to avoid Flash of Unstyled Content in IE */ ?> </script>
</head>
<body class="<?php print $body_classes; ?>">

... és beillesztem a modernworld page.tpl.php-jába ennek helyére:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>Modern World > A place for modern people</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<link href="images/style.css" rel="stylesheet" type="text/css" />
	</head>
<body>

Onnantól az oldal újra olyan, mint amikor nem találja a css-t. Utána a legenerált oldal forráskódját nézve meg se jelenik a modernworld-re valamilyen utalás.

Hol hibázhattam el immáron harmadszor is?
Előre is köszönöm a segítséget!

ninja képe

Miként tudom megoldani, hogy minden cikk tartalma mellett listázza például a kategória további híreit.

így (Drupal 5.x):

<?php
if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2))) {
	$nid = (int)arg(1);
	$terms = taxonomy_node_get_terms($nid);
	print '<div class="related">';
		print '<h3>Kapcsolodó bejegyzések</h3>';		
			foreach($terms as $term){
			    $sql = "SELECT n.title, n.nid, n.created FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid = $term->tid AND n.nid != $nid AND n.status = 1 ORDER BY n.created DESC LIMIT 5";  
			    $result = db_query(db_rewrite_sql($sql));
 
    			if (db_num_rows($result)) {
					print 'Legutóbbi tartalmak a '. $term->name .' témában';
					while ($anode = db_fetch_object($result)) {
					print '<ul><li>'. l($anode->title, "node/$anode->nid") .'</li></ul>';					
    				}  
    			}
  			}
	print '</div>';
}
?>

így fog kinézni: http://alleycat.hu/blog/20050520/vi-resz-az-alakvalto-megjelenik

0
0
aboros képe

1. ha amúgy is használsz views -t, akkor ne használd az eredeti 'friss blogbejegyzések' blokkot, hanem készíts egy sajátot views -al, ami nem jelenít meg 'tovább' linket.

2. css -> display: none;
firebuggal megfigyeled a linkedet, jól megcélzod és elrejted. kb ilyesmi lesz a css:

#block-blog-0 .more-link {
display: none;
}

ez tűnik a legegyszerűbbnek, de egyben ez a legfapadosabb megoldás is. (szerintem)

3. theme_more_link()
a blog.module -ban a blog_block hook -ban láthatod, hogy ezzel a sminkfüggvénnyel fűzi hozzá a tovább linket a blokk tartalmához (204. sor). ezt a sminkfüggvényt felülírod a template.php -ban úgy, hogy a 'blog' url -re mutató tovább link esetén ne adjon vissza semmit. ez így fog kinézni:
template.php

function SMINKNEVE_more_link($url, $title) {
  if ($url != url('blog') {
    return '<div class="more-link">'. t('<a href="@link" title="@title">more</a>', array('@link' => check_url($url), '@title' => $title)) .'</div>';
  }
}

ennek a megoldásnak egy hátránya lehet, minden olyan 'tovább' linket is eltüntet, ami a 'blog' oldalra mutat és theme('more_link'...) hozza létre. (fejből most egy ilyen se jut eszembe, de el tudom képzelni, hogy van ilyen)

+1 bónusz megoldás lehet,
hogy a template_preprocess_block(&$variables) -ban, a $variables['block']->content -ben találod a blokkod tartalmát, de ez már sajnos kész html, szóval valamiféle php string művelettel kell kivágnod belőle a tovább linket, persze csak akkor, ha a blog modul által létrehozott blokkról van szó, mégpedig a 0 deltájúról.
ez a megoldás kb így néz ki:
template.php

function SMINKNEVE_preprocess_block($vars) {
  if ($vars['block']->module == 'blog' && $vars['block']->delta == '0') {
    //itt kell valami sztringművelet, amivel kivágod a <div class='more-link'> ... </div> részt
  }
}

nekem elsőre a harmadik a legszimpatikusabb, de a négy közül valamelyik csak beválik. ;)

figyelj, mert a 3. és a bónusz megoldásokhoz miután beírtad azokat a template.php -ba, ürítened kell a theme registry t- az ismert módszerek valamelyikével. (pl ellátogatsz admin/build/themes oldalra és nyomsz egy mentést)

0
0

-
clear: both;

Bálint képe

Azt hiszem, ezt programozás nélkül nem úszod meg.

Előszöris, el kellene készíteni külön imagecache presetekként a különböző watermarkokat. Aztán az egyiket beállítani a megjelenítéshez.

A sminked template.php-jében valósítsd meg a theme_imagecache függvényt:

<?php
function SMINKEDNEVE_imagecache($presetname, $path, $alt = '', $title = '', $attributes = NULL, $getsize = TRUE) {
 
  // Itt pedig a $presetname változót kellene vizsgálni, és az értékét lecserélni a megfelelőre a felhasználó csoportjától függően.
 
  // Check is_null() so people can intentionally pass an empty array of
  // to override the defaults completely.
  if (is_null($attributes)) {
    $attributes = array('class' => 'imagecache imagecache-'. $presetname);
  }
  if ($getsize && ($image = image_get_info(imagecache_create_path($presetname, $path)))) {
    $attributes['width'] = $image['width'];
    $attributes['height'] = $image['height'];
  }
 
  $attributes = drupal_attributes($attributes);
  $imagecache_url = imagecache_create_url($presetname, $path);
  return '<img src="'. $imagecache_url .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $attributes .' />';
}
?>

(Smink regisztrációs tár ürítés szükséges.)

0
0
kalmarr képe

Még várom az elemzés eredményét :)

Észrevettem egy hibát, ami nem tudom, hogy ehez tartozik-e:

Sablontól függetlenül eltűnt az a lehetőség ami a menük és taxonomiánál, és blokknál van. A sorrend változtatásnál van egy kereszt amivel tudom a sorrendet választani. Ez ami eltünnik, ha a gyökér meünöről, sorrol van szó:

Alapest
+gyökér1
+belső1
+belső2

Nálam:
gyökér
+belső1
+belső2

Ebből következően nem tudom egérrel mozgatni a menüket.

Amiért gondolom, hogy köze lehet egymáshoz a két problémának, mert nem ugyan azon a program alapon működik ez, mint a update?

KALMI

U.I.

Újabb hiba:
Most már a panel-t se engedi szerkeszetni

Hiba:

Ablak felugrik (bármit csinálok is)

An error occurred at /en/panels/ajax/access-settings/panel_context%3Apage-college%3Apage_college_panel_context/84.

Error Description: [ { "command": "scripts", "argument": [ "/themes/orange/js/superfish.js?B" ] }, { "command": "settings", "argument": { "basePath": "/", "dhtmlMenu": { "slide": "slide", "children": "children", "clone": "clone", "siblings": 0, "relativity": 0, "doubleclick": 0 }, "googleanalytics": { "trackOutgoing": 1, "trackMailto": 1, "trackDownload": 1, "trackDownloadExtensions": "7z|aac|arc|arj|asf|asx|avi|bin|csv|doc|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip" }, "lightbox2": { "rtl": "0", "file_path": "/(\\w\\w/)sites/default/files", "default_image": "/modules/lightbox2/images/brokenimage.jpg", "border_size": 10, "font_color": "000", "box_color": "fff", "top_position": "", "overlay_opacity": "0.8", "overlay_color": "000", "disable_close_click": true, "resize_sequence": 0, "resize_speed": 400, "fade_in_speed": 400, "slide_down_speed": 600, "use_alt_layout": false, "disable_resize": false, "disable_zoom": false, "force_show_nav": false, "loop_items": false, "node_link_text": "View Image Details", "node_link_target": false, "image_count": "Image !current of !total", "video_count": "Video !current of !total", "page_count": "Page !current of !total", "lite_press_x_close": "press \x3ca href=\"#\" onclick=\"hideLightbox(); return FALSE;\"\x3e\x3ckbd\x3ex\x3c/kbd\x3e\x3c/a\x3e to close", "download_link_text": "Download Original", "enable_login": false, "enable_contact": false, "keys_close": "c x 27", "keys_previous": "p 37", "keys_next": "n 39", "keys_zoom": "z", "keys_play_pause": "32", "display_image_size": "", "image_node_sizes": "()", "trigger_lightbox_classes": "", "trigger_lightbox_group_classes": "", "trigger_slideshow_classes": "", "trigger_lightframe_classes": "", "trigger_lightframe_group_classes": "", "custom_class_handler": 0, "custom_trigger_classes": "", "disable_for_gallery_lists": true, "disable_for_acidfree_gallery_lists": true, "enable_acidfree_videos": true, "slideshow_interval": 5000, "slideshow_automatic_start": true, "slideshow_automatic_exit": true, "show_play_pause": true, "pause_on_next_click": false, "pause_on_previous_click": true, "loop_slides": false, "iframe_width": 600, "iframe_height": 400, "iframe_border": 1, "enable_video": false }, "cron": { "basePath": "/en/poormanscron", "runNext": 1274982656 }, "extlink": { "extTarget": 0, "extClass": "ext", "extSubdomains": 1, "extExclude": "", "extInclude": "", "extAlert": 0, "extAlertText": "This link will take you to an external web site. We are not responsible for their content.", "mailtoClass": "mailto" }, "admin_menu": { "destination": "destination=panels%2Fajax%2Faccess-settings%2Fpanel_context%3Apage-college%3Apage_college_panel_context%2F84", "hash": "521997c09fcc52758199472b2528391d", "basePath": "/en/admin_menu", "replacements": { ".admin-menu-users a": "0 / 1" }, "margin_top": 1, "position_fixed": 1, "tweak_tabs": 1, "toolbar": [ ] } } }, { "command": "modal_display", "title": "Access settings on Existing node", "output": "\x3cform action=\"/en/panels/ajax/access-settings/panel_context%3Apage-college%3Apage_college_panel_context/84\" accept-charset=\"UTF-8\" method=\"post\" id=\"panels-content-configure-access-settings-form\"\x3e\n\x3cdiv\x3e\x3cdiv class=\"form-radios\"\x3e\x3cdiv class=\"form-item\" id=\"edit-logic-and-wrapper\"\x3e\n \x3clabel class=\"option\" for=\"edit-logic-and\"\x3e\x3cinput type=\"radio\" id=\"edit-logic-and\" name=\"logic\" value=\"and\" checked=\"checked\" class=\"form-radio\" /\x3e All criteria must pass.\x3c/label\x3e\n\x3c/div\x3e\n\x3cdiv class=\"form-item\" id=\"edit-logic-or-wrapper\"\x3e\n \x3clabel class=\"option\" for=\"edit-logic-or\"\x3e\x3cinput type=\"radio\" id=\"edit-logic-or\" name=\"logic\" value=\"or\" class=\"form-radio\" /\x3e Only one criteria must pass.\x3c/label\x3e\n\x3c/div\x3e\n\x3c/div\x3e\x3cinput type=\"submit\" name=\"op\" id=\"edit-next\" value=\"Save\" class=\"form-submit\" /\x3e\n\x3cinput type=\"hidden\" name=\"form_build_id\" id=\"form-01efe73ea751ec13414306aaa8526e8c\" value=\"form-01efe73ea751ec13414306aaa8526e8c\" /\x3e\n\x3cinput type=\"hidden\" name=\"form_token\" id=\"edit-panels-content-configure-access-settings-form-form-token\" value=\"f9d63ed910ac0ff7899c6ba52e369c9f\" /\x3e\n\x3cinput type=\"hidden\" name=\"form_id\" id=\"edit-panels-content-configure-access-settings-form\" value=\"panels_content_configure_access_settings_form\" /\x3e\n\n\x3c/div\x3e\x3c/form\x3e\n" } ]

Nem valami AJAX hibám van?????

Nagyon szeretnék kérni segítséget. Mindenkinek előre is köszönöm!

0
0
Sk8erPeter képe

Időközben rájöttem, hogy a megoldás hihetetlen egyszerű:

  1. /**
  2.  * Implements hook_empty_field_callbacks().
  3.  */
  4. function MYMODULE_empty_field_callbacks() {
  5. $info['MYMODULE_empty_fields_first_test'] = array(
  6. 'label' => t('First test for Empty fields callback...'),
  7. 'callback' => 'MYMODULE_empty_whatever_field_callback',
  8. );
  9. return $info;
  10. }
  11.  
  12. /**
  13.  * Callback defined in hook_empty_field_callbacks().
  14.  */
  15. function MYMODULE_empty_whatever_field_callback($field_name, $context) {
  16. return t('N/A');
  17. }

Ahogy mindez megjelenik az admin-felületen, a "Manage display" fülön:

Empty fields - Callback

Ez számomra tökéletes megoldás, pontosan azt csinálja, amit szeretnék.

Itt az eredmény:
Empty fields - N/A

Ez alapján csak ajánlani tudom a modult!

0
0
nevergone képe

Például a sminkben így menne ez:

Az info fájlba felveszel egy ilyen sort:

plugins[panels][layouts] = layouts
A sminkben létrehozol egy „layouts” könyvtárat, abban valami egyedi nevű alkönyvtárat, abba pedig már mehetnek a saját layouthoz tartozó fájlok.

Pl. kell egy olyan .inc fájl, aminek a neve megegyezik a „layouts” alkönyvtárának nevével (ha van layouts/foobar, akkor kell bele foobar.inc)

A fájlba pedig valami ilyesmi:

  1. <?php
  2.  
  3. // Plugin definition
  4. $plugin = array(
  5. 'title' => t('First own layout'),
  6. 'category' => t('Columns: 3'),
  7. 'icon' => '',
  8. 'theme' => 'panels_threecol_foobar', // <-- a könyvtárba kell panels_threecol_foobar.tpl.php
  9. 'css' => 'threecol_foobar.css',
  10. 'regions' => array(
  11. 'region_1' => t('Region 1'),
  12. 'region_2' => t('Region 2'),
  13. 'region_3' => t('Region 3'),
  14. ),
  15. );

A többit pedig már lesd ki, ha nem megy, akkor segítek még tovább. Ez nem Panopoly-specifikus, hanem az egyedi Panels layout készítésének egyik módját mutattam be.

0
0
szigetibalazs képe

Szia!

Én úgy tudom, hogy "jól" működik.
Ha jól tudom, akkor ez alapján megy az egész:
http://php.net/manual/en/datetime.formats.relative.php

De próbáld ki ezt az egyszerű kódot:

  1. <?php
  2.  
  3. echo date( "Y-m-d", strtotime( "2017-01-01 +1 month" ) ) . "<br>";
  4.  
  5. echo date( "Y-m-d", strtotime( "2017-02-01 +1 month" ) ) . "<br>";
  6.  
  7. echo date( "Y-m-d", strtotime( "2017-03-01 +1 month" ) ) . "<br>";
  8.  
  9. echo date( "Y-m-d", strtotime( "2017-04-01 +1 month" ) ) . "<br>";
  10.  
  11. echo date( "Y-m-d", strtotime( "2017-05-01 +1 month" ) ) . "<br>";
  12.  
  13. ?>
1
0

Menüpontok egyedi osztályba sorolása

oky képe

A drupal.org-on lévő egyik cikk (Enable custom bullets/icons for specific menu items) adta az alapötletet: osztálynevet adni menüpontokhoz, hogy utána egyedi stílust lehessen rájuk alkalmazni. Az eredeti cikk nagy hibájának tartottam, hogy csak modul által definiált menüponthoz lehetett használni. Én viszont azt szerettem volna elérni, hogy bármelyik menüponthoz lehessen osztályt definiálni az adminisztráción keresztül. A 4.7.4-es kiadás fájljait módosítottam ennek érdekében.

theme() megeszi a html tag-eket

pentike képe

Helló!

Írok egy saját node modult és akadt egy kis problémám a megjelenítéssel. (drupal-cvs)

Valami miatt a theme_dinrelay_body($node) fv. kimenetéből eltűnnek a html tag-ek.

function dinrelay_view(&$node, $teaser = FALSE, $page = FALSE) {
  $body = theme('dinrelay_body', $node);
  $node->body .= $body;
  $node->teaser .= $body;
  $node = node_prepare($node, $teaser);
}
 
function theme_dinrelay_body($node) {
  $relay = db_fetch_object(db_query('SELECT * FROM {elkodevices} WHERE nid = %d;', $node->nid));
  $output = '<h2> fejléc';
  $output .= '</h2>';
 
  return $output;
}

Tehát a fenti kód eredménye:

Submitted by pentike on Wed, 10/05/2005 - 11:50.

jdslkfjaséldjfal

Fórum: