Μηχανικός Αυτοματισμού
Εκπαιδευτικός Πληροφορικής
M.Sc Συστήματα Υπολογιστών
Απενεργοποίηση/Ανακατεύθυνση σελίδων στο Drupal
Στο Drupal, πολλές φορές χρειάζεται να κάνετε κάποια ανακατεύθυνση ή να επενεργοποιήσετε εντελώς κάποια σελίδα. Για παράδειγμα, αν έχετε φτιάξει τα κατάλληλα views και δεν χρειάζεστε πλέον την σελίδα /node, μπορείτε να την απενεργοποιήσετε. 'Η ακόμα μπορείτε να ανακατευθύνετε τις σελίδες /admin και /user (ίσως) στις /myadmin και /myuser αντίστοιχα.
Για να απενεργοποιήσετε τη σελίδα /node, στο settings.php, προσθέστε στο τέλος τις παρακάτω γραμμές (ή αν υπάρχουν αλλάξτε τις):
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
if ($path == 'node') {
$result = '404'. $matches[1];
}
}
Για να κάνετε τις ανακατευθύνσεις, πάλι στο setting.php προσθέστε (ή αλλάξτε) :
function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
if (preg_match('|^admin(/{0,1}.*)|', $path, $matches)) {
$path = 'myadmin'. $matches[1];
}
if (preg_match('|^user(/{0,1}.*)|', $path, $matches)) {
$path = 'myuser'. $matches[1];
}
}
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
if (preg_match('|^myadmin(/{0,1}.*)|', $path, $matches)) {
$result = 'admin'. $matches[1];
}
if (preg_match('|^myuser(/{0,1}.*)|', $path, $matches)) {
$result = 'user'. $matches[1];
}
if (preg_match('|^admin(/{0,1}.*)|', $path, $matches)) {
$result = '404'. $matches[1];
}
if ($path == 'node') {
$result = '404'. $matches[1];
}
}