Jump to content

Welcome, Guest!

By registering with us, you'll be able to discuss, share and private message with other members of our community.


  • Content Count

  • Joined

  • Last visited

  • Days Won


mwrouse last won the day on May 6

mwrouse had the most liked content!

Community Reputation

6 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I am unable to add any of the modules I have been creating to the market place (I am getting a 500 error, and I have emailed support about it). If anyone has any questions, please let me know! I am excited about this module!
  2. We have all probably been there, you ran in to limitations of the CMS module. Whether you want more dynamic pages, or you just find the module annoying then the CustomHTMLPages Module is FOR YOU! This module was created because I needed more flexibility in my shop by creating custom pages that could be tied to products and categories. The CMS pages are unable to do this, and tied to the cms.tpl file in your template. LAME! This module allows you to do (most-likely) anything you can dream of. Write your own HTML layout for your pages (you can even use smarty!). You now have the ability to tie products and categories to any of your custom pages. You can even do this dynamically through url parameters. WARNING This module is not for beginners. You should be experienced in HTML/CSS and PHP before using. Invalid code in this module can cause errors for users on the front shop. Before you go any further please read the README on the GitHub repository Example Let me show you can example. My shop (Purgatory Props) needs a support page where I can give articles and documentation on products (general use stuff really) that would clutter the product page. So I have my dedicated support page that is my custom page. Here is what the code for that page looks like: <h1>{$page->meta_title}</h1> <p>Welcome to our support page! Here you will find detailed documentation and instructions on the various products that we offer.</p> {foreach from=$page->children item=child} <div class="template-full-width support-page-tile noselect"> <a href="{$child->link}" class="textlink-nostyle"> <img src="/img/customhtmlpages/{$child->url}.png" class="responsive-img" height="250"/> <span>{$child->meta_title}</span> </a> </div> {/foreach} For the subpage (light controller support) here is the source (with some theme-specific HTML stripped out to avoid clutter): <h1>{$page->meta_title}</h1> <p style="font-size: 1.1em">Which product do you need support with?</p> {foreach from=$category->products item=product} <div class="product-tile"> <a href="{$page->link}/product?id_product={$product->id}"> <img src="{$link->getImageLink($product->link_rewrite, $product->id_image, 'home', null, ImageManager::retinaSupport())|escape:'html':'UTF-8'}" class="img-responsive" width="250" height="250"> <span>{$product->name}</span> </a> </div> {/foreach} {if count($page->related) > 0} <h1>Support Articles</h1> <p>These articles provide detailed information on using your product.</p> {foreach from=$page->related item=relatedPage} <a href="{$relatedPage->link}" class="textlink article-name" style="display: block;line-height:1.2em">{$relatedPage->name}</a> {/foreach} {/if} Notice the following on that page <a href="{$page->link}/product?id_product={$product->id}"> That is utilizing that url parameter to make that page tied to a product like I mentioned before. Here is what that product page looks like: {hook h='actionModifyProductForExtraFunctionality' product=$product} <h1>{$product->name} Support</h1> {if !$product->discontinued} {if $product->active} <a href="{$link->getProductLink($product)}" target="_blank" class="btn btn-default">View the Product</a> {/if} {else} <div class="alert alert-warning"> <strong>This product has been discontinued.</strong><br/> If you need additional service on this product other than what is provided in our Help & Support pages, please contact us. </div> {/if} <!-- Short Description --> <h2>Brief Description</h2> {$product->description_short} <!-- Product Downloads --> {if isset($product->attachments)} <h2>Downloads</h2> <p class="small">User Manuals and Other Documentation</p> {foreach from=$product->attachments item=attachment} <a href="{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")|escape:'html':'UTF-8'}" class="attachment-link textlink-nostyle" target="_blank" title="{$attachment.name}"> <i class="fa fa-download"></i> {$attachment.name} <span class="attachment-size">({Tools::formatBytes($attachment.file_size, 2)})</span> </a> {foreachelse} There are no documents for this product. {/foreach} {/if} <!-- Find Support Articles --> {assign var=supportArticles value=[]} {foreach from=$page->related item=relatedPage} {assign var=hasSupportArticles value=false} {* Keep track of internally to prevent adding it more than once *} {foreach from=$relatedPage->_products item=p} {if $p == $product->id && !$hasSupportArticles} {assign var=hasSupportArticles value=true} {append var=supportArticles value=$relatedPage} {/if} {/foreach} {/foreach} {assign var=hasSupportArticles value=count($supportArticles) > 0} <!-- List Support Articles --> {if $hasSupportArticles} <h2>Support Articles</h2> <p class="small">Support articles for the {$product->name}</p> {foreach from=$supportArticles item=article} <a href="{$article->link}" class="textlink" style="font-size: 1.2em;display: block;line-height: 1.2em">{$article->name}</a> {/foreach} {/if} <!-- Videos --> <h2>Videos</h2> {hook h='displayProductVideos' product=$product} This is pretty complex if you've never used the module before (maybe if you haven't wrote it??). The most complex section on this page discovers any related pages. So if I write an article about a specific product I make that page shown on this page, and I add the product that the article is about to the article page. The two for loops in here will automatically discover that and allow it to be shown.
  3. Since I've been making modules to make ThirtyBees work for me I've come up with one that adds extra variables on to $product for use in your templates. I call it Extra Product Functionality (link to GitHub). It adds this tab to the product edit page in the back office: Setting these values will add/update variables on the $product in your template. So if your product is a service, you could show a contact button, or list the price as a starting at price. If your product is coming soon, you can use $product->coming_soon to add an additional label. (setting coming soon to Yes will automatically hide the price and make it not available to order). I added the force new option because I can definitely see where someone wants to list a product as new even though it's not new (in terms of date it was created). You can add it to your theme by adding this at the top of your product.tpl file: {hook h='actionModifyProductForExtraFunctionality' product=$product} And to get these values to be set in your product list, add this to wherever for-loops through your products: {capture name="newProduct"} {hook h='actionModifyProductForExtraFunctionality' product=$product capture=true} {/capture} {assign var="product" value=unserialize($smarty.capture.newProduct)} That might look dumb, but I tried for several hours to get my hook to be able to modify $product when inside of a for-loop (or wherever it is an array and not an object) and I couldn't. Nothing I was setting in smarty was getting out of my module. So I came up with this clever capture method. This module definitely has potential and I look forward to expanding it. If anyone has any suggestions, let me know.
  4. If you have access to the files for your theme, this is easy enough to add. Even if you have 0 experience. These aren't required by any standard, and are only recommendations. But honestly, if your password manager won't populate a field that is set type="password" in an obvious HTML form, then it's probably the problem.
  5. I have been developing modules these last few days to make Thirty Bees meet my needs. One of those was adding videos to a product. The result is the productvideos module It adds a tap in the edit product page that allows you to link to videos that show the product. It (by default) ties into the displayProductTabContent hook so that it will show up as a tab on your product page. (below picture is from my custom theme) It also has a custom hook so you can add it anywhere in your theme on the product page (you just need to go into the module configuration page and disable the product tab hook). That hook would look like this in your product.tpl file: {hook h='displayProductVideos' product=$product} (note: it expectes $product to be a class, so will not work on the product lists). It uses a third-party library for converting the video url to an embedded iframe so it supports lots of different services (YouTube, Vimeo, Facebook, and a whole lot more). Under the module configuration page you can add custom attributes that will get applied to the generated embed code.
  6. THANK YOU! Changing the email in Preferences > Store Contacts solved the problem. I had it as my outlook.com email as that's where I wanted to receive emails at, but changing it to my custom domain worked like a charm.
  7. Just to be thorough, here are all my PHP modules:
  8. Setup: ThirtyBees 1.2 PHP 7.4 MySQL I just installed ThirtyBees two days ago and I am working on getting my store setup. Of course, I want to receive email notifications when a customer places an order, comments on an order, or sends an email to customer service. Right now none of that is working. I have IMAP settings in the Customer Service tab, and it pulls messages fine from that. But when I reply the customer is not sent an email. Similarly, I'm not receiving any emails when things happen. All the emails show up in the Advanced Parameters > E-mail tab. In that tab, I have tried the "Test your Email Configuration" section but NEVER receive an email. I have tried using the PHP mail() function, doesn't work. But when I create a standard php page somewhere else on my server and go to it, the mail function works fine there. I have tried SMTP and that doesn't work either, but my SMTP settings are working and tested with the SMTP test website. I have enabled debug mode but don't see any error logs. And all I get are success notifications when I try to send a message (test or to the customer), never any error messages. There is also nothing in the error_log file. I've read this thread and this issue on GitHub, neither are my issue and they are on older versions (and I NEVER get any error messages). I guess I'm coming to my limit being able to do stuff in the UI, and not too familiar with the back-end. Installed using Softalicious on a CPanel server. I have all the appropriate PHP modules according to the README on the repo. Any help would be greatly appreciated. If someone thinks this would be better suited as a GitHub Issue then I will gladly put it there instead.
  • Create New...