Typo3 - Different constant value to different menu items - menu

I want to define a constant variable where I use multiple if conditions to match specific hmenu items(or page uid), so for every if condition that matches that specific menu item(page uid) the content of the constant changes. Then I use this constant in a data-attribute in the hmenu li

i don't understand your question. what is your goal?
constants are Constant and do not change in the process of rendering the page.
and for me it sounds like you try to modify them while rendering the page menu.
what data do you want to add to the li?

Related

Change order pagination options dojo

I make a table with dojo script, but it should see the diferent order of pagination options as that: 1. the page navigation choices, 2. page length menu and, 3. current position display.
I need help with that, how can I change that?
http://dojotoolkit.org/reference-guide/1.10/_images/pagination_ui_overview.bmp
In order to customize/modify an existing dojo widget you will need to manipulate the dom.
In this specific case you should use selectors like dojo/dom and dojo/query to select the portions of the grid you wish to move and then use dojo/dom-construct to place them in the correct location.
domConstruct.place(pageNavigation, positionDisplay, "replace");
Here is a jsfiddle which demonstrates a portion of what you are trying to accomplish and is a good starting point http://jsfiddle.net/kagant15/u6edz0b9/

Dynamically add / remove editable area to custom control embedded in XPage

Okay... this is a little difficult to explain but I will try my best.
In Custom Control while adding properties in Property Definition we can set "Allow multiple instances" which allows us to add multiple instances of that property when the control is embedded in XPage.
Similarly, I need to know whether it is possible to add (and remove) Editable Areas in a custom control when it is embedded in XPage? What I plan is that I would have a repeat control inside my custom control and I would be able to put the contents in each editable area in every loop of that repeat.
Is this the right way to go about or am I looking at this problem incorrectly? Any solution not involving editable areas is also welcome :)
Update 4 Apr 2013:
A use case context I am looking for is a simple carousel where contents of each screen in carousel can have different contents. These contents would be put into each (dynamically added) editable area. The contents can be very different from each other with one screen containing only text, other only image and another both image and text.
Look at the table walker example in the 26 original exercises. It does mostly what you are looking for (conceptually). You won't need multiple editable areas. Whatever is inside the repeat gets repeated.
What you want to do is to give the control a custom property "boolean editMode" so you can render that one line to be edited - if that's the UI pattern you want to follow.
You also could consider a dojo table with Ajax which allows for a familiar spreadsheet UI

Can you compute which custom control to use?

Think "computed subform", but in Xpages.
On one of my custom controls, depending on a certain value, I want to either present a custom control that renders a drop-down list using a combobox or renders an input box with a type-ahead.
This is on a custom control that renders a view, with all view configuration choices handled by a document rather than design, so several different views utilize the same custom control.
For example: I have a By Status view using the custom control that has status as the first column and we use a combobox to allow the user to select which Status value to filter by. Another view is sorted by Requisition number and I want to use a type-ahead instead of the combobox.
My preference is to use the same dynamic view custom control for both and have a formula that determines which of the two (comboBox or inputText) to use. How do I compute which custom control to load?
(Credit for the dynamic view control goes to Scott Good's folks over at Teamworks Solutions.)
During it's life cycle, an XPage exists in two places. First of all a representation of the XPage's relevant components is stored on the server. Then the page goes through a lifecycle, retrieving properties from documents, checking which components should be rendered, retrieving the data for any repeating control such as a View Panel etc., and passing the relevant HTML to the browser. The browser is the second place it exists.
So you can't compute a custom control as such. All you can do is set the loaded property, and loaded needs to be based on a non-dynamic calculation such as a viewScope variable, the current XPage name, a view name stored on the XPage etc. What you would have difficulty doing would be using a different custom control based on data on that row entry.
The other option is the Dynamic Content control or Switch control from the Extension Library. Both are similar to using the loaded property, in that you're putting both custom controls on the page and choosing which to display.
From what you're describing, the loaded property should cover what you need.
Some time back I saw this question on StackOverflow where the author had used Include Page control (xp:include) to include custom controls using pageName attribute based on formula.
<xp:include>
<xp:this.pageName><![CDATA[${javascript:sessionScope.ccPageName + ".xsp";}]]> </xp:this.pageName>
</xp:include>
Similar to the technique described by Paul Withers in his answer the attribute of pageName is also computed on page load.

Custom theming Drupal 6 Menus

Is there a hook or preprocess function that I can access to write my own theming function for a drupal menu (in this case, primary links)?
I have a rather complex menu structure that requires a little extra markup than I'm currently getting by just rendering the menu items in a block (involving sub-menus with a little custom markup) and really need to get access to build the menu's content variable myself, ideally from an array that has all the primary links and their children in scope.
While it may not be the best solution, it is one that worked quite quickly and painlessly:
Drupal keeps a cached version of all your menus in the cache_menu table, I ran a this query to retreive a serialized string containing all the contents of the menu:
SELECT data FROM menu_cache WHERE serialized = 1 AND cid LIKE 'links:primary_links:%';
Substitute primary_links for whatever the name of your menu is and call unserialize on $row->data to get a structured array of everything you should need to build a custom menu.
I call a function in hook_preprocess_block that swaps the content of the menu block with my own and everything seems to be working fine.

in drupal how to display 2 views with filter exposed in same page/path?

in drupal how to display 2 views with filter exposed in same page/path?
Have you tried having each view as a block? That way it is simple to have two different views on the same page - for example add the blocks to the body and limit them to the specific page. caveat - I don't know if exposing the filter makes using the block view problematic, but it is certainly worth a try.
The way I solved this is described here:
Create a view with two "page" displays
Make sure the filters are identical in both
Under exposed form set "Exposed form in block" to "Yes" in both
displays
Make the second display appear in the footer of the first
Set the exposed block to appear only in the path of the first
display
Now setting filters affects both displays.

Resources