ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

OpenCart Ecommerce Content Management System - Displaying the product name in the admin screen

Updated on July 8, 2011

I started using the Open Cart 1.5 ecommerce content management system and think it is one of the best ecommerce systems out there. It compares well against Zen Cart and OS Commerce and as a programmer, I am changing things to suit my needs and the ecommerce needs of my clients.

Here's the problem (See below for the solution)

Today, I came across a problem that was silently bugging me for the past week and that is when I am editing a product in the admin system, I sometimes forget what product I am editing. With over 500 products, you can easily get lost. The problem is that Open Cart does not show you the product name while you are editing in one of its many tabs including "Data", "Link", and "Design". It just says "Product". I would like it show the name of the product that I am editing wherever I am. I went to work to make that happen and solve this problem.

You can have this code, but you need to edit 2 files (a controller and a view) in Open Cart's MVC system (Model Viewer Controller) framework. You can also edit the language file, but it is optional.

  1. The controller file: \admin\controller\catalog\product.php
  2. The language file: \admin\language\english\catalog\product.php
  3. Your view file: admin\view\template\catalog\product_form.tpl

Open these three files and I will give you the code to add:


The resolved OpenCart product editing admin screen

Editing the Controller

		$this->data['product_title'] = $this->language->get('product_title'); // Initiate the product_title variable for the view when entering a new product.
		if(isset($this->request->get['product_id']))
		{
			$this->data['product_title'] = $this->data['product_description'][1]['name']; // Change the product_title variable for the view if we are editing an existing product.
		}

This is pretty simple and it only takes 4 lines:

In the first line, we set up a new view variable through the MVC system called product_title.

$this->data['product_title'] is the line that the view will use to show your product title. If you want, you can get it from the language file or simply hard code it.

To use the language file (which is optional), add $this->data['product_title'] = $this->language->get('product_title');

To hard code it without the language file, you simply add

$this->data['product_title'] = "New Product";

That is it for the controller file. You need to add this code to the line of code above "if (isset($this->request->post['model'])) {"

Adding the code to your view

<?php echo $heading_title . ": $product_title"; ?>

Editing the view is quick and only takes one line.

Look for the line of code with <?php echo $heading_title towards the top. You simply add your $product_title variable that you set up in the controller.

That is it! Your product title will now display.

Optionally adding the New Product Label to your Language file

$_['product_title'] = "New Product";

As I mentioned before, this is optional. If you like keeping your controller clean, you can add the New Product label to your language files.

This will be used when you insert a new product.

That is the whole thing. A total of 6 lines in 3 files solves this issue and it works well. No models are necessary here.

Comments

    0 of 8192 characters used
    Post Comment

    • hotwebideas profile imageAUTHOR

      Bruce Chamoff 

      6 years ago from New York

      @ijmilton, no problem. Glad it works for you.

    • profile image

      ijmilton 

      6 years ago

      Thank you for the code, just what I was looking for.

    • hotwebideas profile imageAUTHOR

      Bruce Chamoff 

      7 years ago from New York

      Hey Psychic Dog, I am glad you like the way I think and am glad to know another programmer thinks the same way I do.

      Wait till you see the Open Cart extension that I just developed called the "Super Message Kit". I hope it will blow people away and I am releasing it this weekend.

      I will contact you when it is up.

    • psychicdog.net profile image

      psychicdog.net 

      7 years ago

      Cheers HWI. It is great to have another php person here on hubpages who thinks along these lines! This probably reads as trivial to others, but like you HWI, I get obsessive about these little details as these can be highly annoying for a client who you have set this up for.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)