Drupal 6- 404 is not showing for menu item URL pattern implemented using hook_menu - drupal-6

I have a hook menu
$items['mypage'] = array(
'title' => t('My Page title'),
'description' => '',
'type' => MENU_CALLBACK,
'page callback'=> 'my_home_page',
'access arguments' => array('access content'),
);
Now when I access a page which is not existing like "mypage/blahblah" it will show my home page(ie http://www.mydomain.com/mypage/blahblah is rendering content of http://www.mydomain.com/mypage). Instead of this I need to show a 404 page.
Can anybody give comment on this ?

You can try to paste the following code in your page call back function "my_home_page"
if ('' != arg(1)){
drupal_not_found();
}
Thanks
Rahul

Related

WPBakery multiple WYSIWYG editors

so I am building fairly complex WP site based on WPBakery editor with tons of custom components.
I just found out that some of them need to have multiple textarea_html (WYSIWYG) fields and judging by documentation only one of those fields is allowed per component:
Text area with default WordPress WYSIWYG Editor. Important: only one html textarea is permitted per shortcode and it should have “content” as a param_name
They are defined like this:
array(
'type' => 'textarea_html',
'heading' => __( 'This is WYSIWYG editor', 'text-domain' ),
'param_name' => 'content',
'value' => __( '', 'text-domain' )
),
Adding more with the same type (textarea_html) just converts them (of course, per documentation) to basic textarea field like this:
array(
'type' => 'textarea',
'heading' => __( 'This is basic textarea block', 'text-domain' ),
'param_name' => 'someparamname',
'value' => __( '', 'text-domain' )
),
Any ideas how this could be done differently? Thought about using ACF but didnt had much luck there...

Add html to menu title in Drupal

I must have missed something. I can't figure out how to add some HTML into the title of the menu.
According to the menu api, I can't add options because I am using MENU_LOCAL_TASK, but then how? There is no say.
For example: if I try to make the title bold:
$items['whatever/tab2'] = array(
'title' => '<b>Tab 2</b>',
'type' => MENU_LOCAL_TASK,
);
This is not working.
You can use 'title callback' => 'example_title_callback',
Function to generate the title; defaults to t(). If you require only the raw string to be output, set this to FALSE.
You could use the Menu HTML module.

Show some navigation pages just in breadcrumbs not in top menu in zf2

I have a navigation and use it for breadcrumbs. I want to use it for top menu too , but I don't want to show my products in top menu.
How Can I achieve that ?
Add a custom attribute while defining the array in the module.config.php -
Eg:
array(
'label' => 'Product List',
'route' => 'product',
'action' => 'index',
'resource' => 'Product\Controller\Product:index',
'top_menu' => '0',
),
For the rest of the arrays set the top_menu attribute to 1.
In the partial file of top-menu, check -
<?php foreach ($this->container as $page) {
[...]
if($page->get('top_menu') == '1') {
//Code to display the menu.
}
[...]
} ?>
I hope it gives some idea.

hook_menu Title

I'm having some trouble with the titles of my pages.
English Settings Page :
$items['mymodule/admin'] = array(
'title' => 'Administrate',
'page callback' => 'mymodule_admin_home',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
// ...
);
$items['mymodule/admin/settings/english'] = array(
'title' => 'English Settings',
'page callback' => 'drupal_get_form',
'page arguments' => 'mymodule_makeEnglishSettingsForm',
'type' => MENU_DEFAULT_LOCAL_TASK,
);
The title I set for my page in my hook_menu module doesn't stick, instead, it sets the title to it's parent-most item. I know that I can use drupal_set_title($my-new-title) to fix it. But why is this misbehaving? What did I do wrong?
ITs problem with the cache, either you can clear the cache by navigating to admin/settings/performance or use cache_clear method.
Try clearing the menu cache after making your changes:
cache_clear_all('*', 'cache_menu', TRUE);
Or, if you have the Admin Menu module installed, go to /admin_menu/flush-cache/menu

calling of javascript function on button click in .module file in drupal

I have one button and onclick i want javascript function to be called which contains alert message...............in drupal
i tried many things like...........
1)i created button using
$form['click'] = array(
'#type' => 'button',
'#attributes' => array('onclick' =>_____________),//dnt know what to give for onclick
'#value' => t('click'),
);
2)used drupal_add_js(drupal_get_path('module', 'document').'/eg.js', 'module');in hook_form_alter()
3).js file is as follows
function message()
{
alert("Catch ->This alert box was called");
} -->
want alert message to be displayed on button click.
Kindly help................
Thanks in advance
$form['search_something'] = array(
'#type' => 'button',
'#value' => t('Search'),
'#attributes' => array('onclick' => 'searchsomething()),
);
this is the piece of code to call javascript on button click.
Javascript function
function searchsomething(){
alert("hello");
}

Resources