Skip to main content

Home/ Drupal for Developers/ Group items tagged path

Rss Feed Group items tagged

Scott Blackburn

Getting node path for theming list view | drupal.org - 0 views

  •  
    I recently need to theme a node path in a list view. Comment #1 did the trick: $node = node_load($nid); $path = drupal_get_path_alias('node/'.$node->nid);
Sven Decabooter

URI, path, aliases, oh my! | drupal4hu - 0 views

  •  
    Share to a Group
Daniel Gregoire

Reducing server resource utilization for busy sites by implementing fast 404s in Drupal... - 3 views

  • // List of extensions for static files $exts = 'txt|png|gif|jpe?g|shtml?|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp|xml'; // It is not an imagecache path, which we allow to go through Drupal if (!strpos($_SERVER['QUERY_STRING'], 'imagecache')) { // It is not our main feed page if ($_SERVER['QUERY_STRING'] != 'rss.xml') { // Is it a static file? if (preg_match('/\.(' . $exts . ')$/', $_SERVER['QUERY_STRING'])) // Just send a 404 right now ... { header('HTTP/1.0 404 Not Found'); print '<html>'; print '<head><title>404 Not Found</title></head>'; print '<body><h1>Not Found</h1>'; print '<p>The requested URL was not found on this server.</p>'; print '</body></html>'; exit(); } } }
  •  
    Fast Drupal 404 handling for static files.
Scott Blackburn

Views Help: How to get a field to "Link this field to its user" besides username | drup... - 0 views

  • Though one would think the $field object is what we wanted-- the actual object we needed is $row (even though we're only looking at one field in the row). Put the following into the field tpl file to see what the necessary info is: <?phpprint '<pre>';print_r($row);print '</pre>';?> Then, to actually make the link, put the following in your field tpl file: <?php$account = user_load($row->uid);print l($row->profile_values_profile_fullname_value, 'users/' . $account->name);?> Change 'profile_values_profile_fullname_value' to the proper field alias (based on the $row output). Also, be sure to change 'users' to whatever the path is for your user accounts. I also had another thought-- given your use case, you may want to consider the http://drupal.org/project/realname module as well. It will replace usernames with whatever field(s) you designate all over the site. EDIT: I had another thought. I'm not sure of the performance implications of doing a user_load in the template file. Another option is to add the 'User: name' field to the view but exclude it from display. Then you could avoid the user_load and change the code in the tpl file to: <?phpprint l($row->profile_values_profile_fullname_value, 'users/' . $row->users_name);?>
  •  
    theming the field tpl files for Views2
Daniel Gregoire

Theming the User Registration Form in Drupal 6 | Trellon - 0 views

  • <?phpfunction themename_theme($existing, $type, $theme, $path) {  return array(    ...    // tell Drupal what template to use for the user register form    'user_register' => array(      'arguments' => array('form' => NULL),      'template' => 'user-register', // this is the name of the template    ),    ...  );}?>
  • <div id="registration_form">  <div class="field">    <?php      print drupal_render($form['account']['name']); // prints the username field    ?>  </div>  <div class="field">    <?php      print drupal_render($form['account']['pass']); // print the password field    ?>  </div>  <div class="field">    <?php        print drupal_render($form['submit']); // print the submit button      ?>    </div>  </div></div>
  • <?php  print '<pre>';  print var_export($form);  print '</pre>';?>
  • ...3 more annotations...
  • Don't forget to render hidden fields or it won't work ;) echo drupal_render($form['timezone']); echo drupal_render($form['form_build_id']); echo drupal_render($form['form_id']);
  • you also have to print the "token" in order to make the form work print drupal_render($form['form_token']);
  • From my own experience using a form tpl.php, you need to print the whole $form at the very end of the template to ensure that the form will validate upon submission. <?php print drupal_render($form); ?> Just adding the hidden form_build_id and the form_id fields will not mean the form will work. Printing the entire form at the end, however, will mean that all the stuff you wanted to hide in making the template will show. For those fields, include "unset" statements for each one: <?php unset($form['field_to_hide']); ?> Please correct me if I'm wrong or if there is a better way to do this.
Daniel Gregoire

Restrict specific folders from public download (via .htaccess) | drupal.org - 0 views

  • If you set "public" as the download method, you can still protect some of your folders by settings in your .htaccess file, if you have mod_rewrite enabled. For instance, if your files live in sites/default/files, and you want to protect everything in sites/default/files/protected_download_dir, then you can add the following line to your central .htaccess file: RewriteRule ^sites\/default\/files\/(protected_download_dir\/.*)$ index.php?q=system/files/$1 The files in this folder (or, all files that match the regular expression) will not be served directly by apache, but by a full drupal request using the file_download() callback. The routing for system/files is defined in system_menu(). Access Checking for File Downloads Modules can do access checking on files downloaded through file_download(), by implementing hook_file_download(). For instance, the filefield module will do access checking for all files that you upload via filefield. It will only give access to people who are allowed to see the node and the field the file belongs to. In addition, you can look for modules that restrict file downloads based on the folder name or other criteria. Access Checking built-in with Filefield The filefield module has access checking built-in. To make use of this, please Make sure to use the latest dev version of filefield (for now). The current offical release (08/2009) has a bug in access checking. Have a look into filefield issue 516104. Configure the filefield you want to protect. Use the filefield path module, to define where the files for the filefield should be stored by default. Add a line to your .htaccess to protect this folder (see above). Use whatever modules to restrict node or field access.
1 - 7 of 7
Showing 20 items per page