Want to add custom option from the frontend of magento - magento

I want to add a button on product view page. By clicking on that button, there will appear two text box fields which are custom options. When I open that product from the backend, I can find that there are custom options which I added, but I need to view it in the frontend by clicking the button only.

First of all, Products are added by the administrator, and are fully controller also by the Administrator. Only thing is that you (as a customer) can only see the custom options which are available for a particular product (and as provided by the admin).
In your particular case, go to the proper Admin page (Edit / Add a new Product and go to its "Custom Options" tab). Now provide options for two text fields, with two different labels, and then save that product. Now if you go to the front-end to view that product, you will find the product details, along with the two custom options added from the admin section.
Also if you want to add a button in the front-end of each product view page, which when clicked will show the custom options, then you need to create a button & write a JavaScript for opening the container of the Custom Options.
Hope it helps.
Edit:-
First find out the full HTML section of the Custom Options, or in other words, the HTML container of the Custom Options in the Product view page. Provide a unique "id" to the container "DIV" element and make that element hidden. Also provide the HTML button anywhere in the view page, and call the unique ID of the "DIV" element in the "onclick" event of the button. A simple code snippet will be like:-
<div id="any_unique_id" style="display: none;">
// Whole Custom Options
</div>
<button onclick="$('any_unique_id').show();">Click here to view the Custom Options</button>

checkout Knowledge Craving 2nd part's answer

Related

Drupal 8: Redirect from Default Taxonomy Term Page/Path to Custom Page Created in Panels/Pages

I am trying to redirect the Taxonomy term path/url to a custom panels/page, I found several posts from around the web about that and tried to implement the instructions but they did not work and I am doing something wrong. For example I tried what I thought was the closest to my situation found here and in the following quote but it did not work and the Taxonomy views was already disabled in the first place on my end.
Disable the Taxonomy term view.
Set the path on the panels page to /taxonomy/term/%.
Clear cache.
View page at taxonomy/term/{tid}.
I verified that this also works with URL aliases.
Can someone provide clear directions for the following
Pages/Panel screenshot
What do I enter in,
Page information
Page parameters
Page access
Variants: contexts
Variants: selection criteria
I've tried all kinds of different settings ("/taxonomy/term/{tid}", "/taxonomy/term/%", "/taxonomy/term/{taxonomy_term}", "/taxonomy/term/112") and changing Home>>Administration>>Configuration>>Search and metadata>>url alias settings but every link just goes back to the default taxonmy term page.
I solved the issue. If any body needs the answer here it is.
To change the page/layout of a taxonomy term first go to page manager (Home >> Administration >> Structure ).
You might see a page called "Taxonomy Term", that's where you want to start to make changes so click on that. If not you'll have to create on page. Both can be addressed by the following steps.
This example will show you how to create and use different layout for a different term page.
Go to Structure > Pages (/admin/structure/page_manager) and click on Edit button under Taxonomy Term row. On the right side you will see Default
These are variants. The Default variant at the bottom affects all the taxonomy/term pages. All other above variants overrides the Default variant using certain conditions a.k.a "Selection criteria".
Click the Add variant button to add a new variant.
Enter Label for the variant and choose "Panels" under the Type dropdown menu.
Choose "In-place Editor" for a Builder
Choose Layout for the page.
Enter [term:name] for Page title. This token holds the name of your taxonomy term. Now click on the Finish button, you will add block later.
Click on the Selection criteria.
Choose "Request Path" for a condition and click on the "Add condition" button.
Add taxonomy term page url's you wish to override (e.g. taxonomy/term/25).
Go to one of those pages (e.g. taxonomy/term/25) and add blocks.
Note that your variant must be positioned above the variant you override to work properly. Use the Reorder variants button to reorder your variants.
You can repeat this procedure if you wish to target a different terms also or a vocabulary. You can have as many variants you want.

Add buttons to sub-grid view

On the order form, there is a products section that has uses the default Order Product Inline Edit View. This view is not editable, but you can copy it and save it as a different name.
However, when you copy the view, the new view does not display all of the same buttons when viewing the sub-grid.
default view:
copied view (the lock pricing, move up and move down buttons are missing):
The copied view shows the + button and it's drop down menu correctly. Why hasn't it copied the other buttons, and how can i get them to show on my custom view?
I am happy to edit xml and upload that back to CRM if necessary.
Update:
FYI, this is all a pointless effort as the word template ignores the sequence order. What an utter waste of time.
I'm going to guess it's because the default view on the order of order products is a special one. It has special behaviours that arn't seen in the rest of 365, i.e. you don't get up, down, or lock on other views.
I would assume that the extra buttons only get shown on that default view and arn't really supported outside of that view.
Turns out it is actually quite easy to show these buttons for other views using the ribbon workbench.
Right click on the button in ribbon workbench under the subgrid section and click on customise
Select the command in the "solution elements" pane at the bottom
In the bottom right hand pane, right click on the enable rule "Mscrm.IsInlineEditView" and click "Remove from Command"
Publish
These buttons now show up for all views.

How to add RSVP button options in MailChimp template

I've created a party invitation template in MailChimp with an RSVP section within the body of the email that contains 3 buttons:
yes
maybe
no
I have also added a custom text field on the list called "RSVP".
Is there a way I can automate the user click event to automatically update the profile and target this field?
I realize I can add the |UPDATE_PROFILE| merge tag and send the user to a custom form where they choose their RSVP option, but ideally i want to bypass the form and handle the response using the buttons in the email body ONLY.
Is this possible?
Yes, this is possible, mostly. You can do most of what you want with survey tags. The result won't be put in your custom text field in your list called "RSVP", but you will still be able to make segments of your list based on who clicked a particular response, as described below.
Anywhere in your email, in a text portion, include the following:
*|SURVEY: 1. yes|*
*|SURVEY: 2. maybe|*
*|SURVEY: 3. no|*
When the recipient gets the email, they will see three links:
1. yes
2. maybe
3. no
These links will take them to a survey landing page. (You can edit this: in your lists page, click the drop down to the right of the stats button, then choose Signup Forms, and then choose Form Builder, then in the drop down choose Survey Landing Page)
After you send out the email, and some people have clicked some of your yes/maybe/no links, it's time to see the results.
Click on Campaigns at the top of mailchimp, then the View Report button to the right of the email you sent. Scroll down and you will see a box called Poll Information, and in this there is a link to View poll results. There you can see who clicked on which link.
You can also make a list segment based on Poll/Survey Activity, which lets you do things like see who all didn't pick any of your RSVP options, who did, and who clicked which one.

How to apply filter/specific criteria for browser UI component in Exact Synergy Enterprise?

I am creating a maintenance page where I want to select a task using browser UI component. What I want to do specifically is to filter and show only tasks that are not done yet. Can I implement this using browser UI component? Does Exact Synergy Enterprise offer other components for this functionality?
You should create your browser Repository Explorer and use it in browsefield UI component.
Go to System tab, process to Setup tab and under the Repository section click Explorer. Locate your Repository group, enter it, click Browsers tab next to Business components, Functional components, etc.
Click Add and provide Name, Caption, Caption suffix fields. Then write your SQL query in Query field. The structure is:
SELECT <column(s)> FROM <database table> WHERE <column(s)> IS NOT NULL ORDER BY <column>.
Leave the Column info field empty for now. Fill in the Result columns field with column name which will be used as a Browser component result.
Finally, add database table name in the Table list field. Click Save + Edit column info button. Edit column names from a list shown below Information section and fill in Header/Term ID field with title, describing your columns (this will be shown in Browser UI for the front-end user). Click Save and test your newly created browser. If something went wrong, repeat steps from the start. Most of the time problem could be wrongly filled Column info field.
Now go to your ASPX page and add browsername attribute to your browsefield UI component. Doing so will set the browserfield component to your newly created browser component. This is that you want to see in your maintenance page when setting up the browsefield UI component:
<ex:cardfield runat="server" id="cf" caption="Item" captionid="0">
<ex:browsefield runat="server" id="p" browsername="pbr" datasource="bc" />
</ex:cardfield>
Hope this gives you quick idea of what you need to do in order to adjust it to your situation with tasks.

Unable to pass model into partial view inside layout pages

I have a layout page within that layout I have used a partial view, the partial view contains a menu feature that I have built, I split the menu into a partial view to ensure it is easy to maintain. The menu has been purposely placed in the layout because it is used across every page, however there are conditional elements in the menu whereby some options only appear on certain pages.
I have stumbled upon what will be an issue for me moving forward, the menu uses ajax calls to render partial views containing the content (reducing page loads) I was just working on a page which contains a company, the company contains a list of contacts, the menu option when clicked should display the list of contacts. I have already loaded the contact list under the company model, but! I can’t access it from my new partial view that should render the contact list because the menu is a partial view that is contained within the layout page and as such cannot accept a model, so I cannot pass a model into the partial view I am trying to load because the menu partial view sits in the layout page.
This is a sticky situation, I obviously could change the layout to render a new section to contain the menu so I can pass a new view model into it but then every single page I build needs to reference the menu (what a pest!) I must be missing something here (considering this is my first MVC3 application that is likely). Any suggestions?
Edit: I took this further on my own, in short my layout page will always be able to access the model of the page that consumes it, as such my partial view which contains the menu can also access that data. I wrote some conditional logic in my menu partial view that checks the page and then passes in data as required.
<div class="menu">
<ul>
<li><a href="#Url.Action("Create", "Contact")">New Contact </li>
<li>Contact List </li>
</ul>
#if (Request.Url.PathAndQuery.Contains("/Contact/Details/"))
{
<ul>
<li>#Html.ActionLink("New Activity", "Create", "Activity", new { companyid = 0, contactid = Model.contact.id }, null)</li>
</ul>
}
</div>
The above is a small sample of the menu partial view but contains one example where the menu is built for the contact/details page and is able to pass in the model.contact.id. It works in that my menu and my layout do not explicitly contain a model, but it does not feel very tidy.
If I'm understanding your question correctly, your issue is that you don't think your Partial View can have a model because you don't want your layout to have a model. So the question is how can you get a model into your layout without needing every single action to extend this base model type your layout would use.
1) Instead of using Html.Partial in your layout for the menu use Html.Action where you'll then have an action method that fetches the menu data.
2) Write a custom WebViewPage and include a property that has something like
return ((BaseController)ViewContext.Controller).MenuData;
now you don't even need a model in your partial view, it can access the data directly.
Both of these require having a Menu property containing all menu information available in your base model, but if every page in your websites going to need to access this data, then that seems appropriate.
Edit: In response to your tidiness concern, it sounds like you want sections, which give you the ability to customize pieces of your menu either in their appropriate view page or sub layout.
See http://weblogs.asp.net/scottgu/archive/2010/12/30/asp-net-mvc-3-layouts-and-sections-with-razor.aspx for an overview of sections and http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx for information of nested layouts/sections.

Resources