Jump to content

Rodrigo

Members
  • Posts

    36
  • Joined

  • Last visited

  • Days Won

    3

Reputation Activity

  1. Like
    Rodrigo got a reaction from lamlai in [Blesta 3.2.1-3.5.1] Universal Module Workaround: Show Service Fields At Client Panel   
    Hello,

    As other users reported in the forum, this issue is making troubles for services that doesn't have proper provisioning modules.

    By doing the following changes, a Tab will appear at client's manage service page, showing all the service fields that have the public_ tag on their name.

    Instructions:
    1. Open components/modules/universal_module/universal_module.php
    Find:
    private function isUrl($str) { return preg_match("#^\S+://\S+\.\S+.+$#", $str); } Add After:
     
    /** * Returns all tabs to display to a client when managing a service whose * package uses this module * * @param stdClass $package A stdClass object representing the selected package * @return array An array of tabs in the format of method => title. Example: array('methodName' => "Title", 'methodName2' => "Title2") */ public function getClientTabs($package) { return array( 'moreinfo' => array('name' => "More Info", 'icon' => "fa fa-gears") ); } /** * The More Info tab * * @param stdClass $package A stdClass object representing the current package * @param stdClass $service A stdClass object representing the current service * @param array $get Any GET parameters * @param array $post Any POST parameters * @param array $files Any FILES parameters * @return string The string representing the contents of this tab */ public function moreinfo($package, $service, array $get=null, array $post=null, array $files=null) { $row = $this->getModuleRow($package->module_row); $out = ''; $servicefields = array(); foreach ($row->meta as $key=>$value ) { if (strpos($key, "service_field_name") !== false) { // Here we match the service field label with their key and value foreach($service->fields as $field) { if($field->key == $value) { $name = 'service_field_label_' . str_replace('service_field_name_', '', $key); $servicefields[] = array("label" => $row->meta->$name, "key" => $value, "value" => $field->value); } } } } foreach($servicefields as $field) { // Filter out for showing only public fields if(strpos($field['key'], "public_") === 0 ) { $out .= "<p><b>". $field['label'] . ":</b> " . $field['value'] . "</p>"; } } return "<h4>Service Information</h4><br />" . $out ; } 2. Make sure that the service fields that you want to show to the client start with "public_" prefix

    Preview
    Setting up public service fields


    Service fields being shown on client's "Manage Service" page


    Download drop-in replacement file (if you don't want to manually add the above lines) (Only for Blesta 3.2.1): universal_module.php

    Caution:
    This file will be overwritten if you update Blesta and the Tab will disappear (there is no other risk or any service data loss). If you change the service field name of a existing field, the data will not be preserved (bug?)  
    EDIT: This still works for Blesta 3.5.1. I'm not sure if it's still needed, but I'm already using it for my production blesta website so there's no way back 
  2. Like
    Rodrigo got a reaction from Blesta Addons in Active services at certain month   
    Hi,
    Currently i'm working with Holistics.io, where I connect it to Blesta DB via remote mysql and it shows me a full B.I dashboard with awesome statistics and charts. I would like to know if Blesta model does support a query to be able to retrieve how many services where active at a certain date.
    We can't rely on Canceled or Suspended dates of 'services' table as the former can occur much later after the service was suspended, and the latter disappears when a service is unsuspended.
    I'm thinking about writing a small script that logs this value every day to a database in order to be able to have this value from now on, but I would like to know if I have been missing a table that might have this information (directly or via an specific query).
    Thanks!
    Rodrigo
  3. Like
    Rodrigo got a reaction from jobplease in [Blesta 3.2-3.5.1] How To Make Static Pages By Modifying Portal Plugin   
    Hi,
     
    I'm sharing a quick method for making custom static pages in blest system without any additional plugin. Please consider that any future update would require to take care of the changes made as they can be erased.
     
    In this example I'll be doing a static page that will be located in your_blesta_location.com/services
     
    1.1 Creating a static page with custom HTML
     
    1. Open plugins/cms/controller/main.php
    Find:
    else { $this->redirect($this->base_uri); } Replace for:
    else {                         switch($uri) {                           case 'services':                             $this->structure->set("page_title", "*** INSERT PAGE TITLE ***");                             $this->structure->set("title", "*** INSERT TITLE SHOWN ON PORTAL TEMPLATE ***");                             // Placeholders won't work with this method, so let's use variables $url = rtrim($this->base_url, "/");                             $blesta_url = $this->Html->safe($url . WEBDIR);                             $html = <<<EOT       <div class="col-md-4 col-sm-6 portal-box">         <a href="{$blesta_url}services>             <div class="well">                 <i class="fa fa-cogs fa-4x"></i>                 <h4>Foo</h4>                 <p>Bar.</p>             </div>         </a>     </div>     EOT;                             $this->set("content", $html);                             break;                           default:                                $this->redirect($this->base_uri);                         }  } You can repeat the php case for making all the static pages you want, putting HTML between the EOT marks (There should be no space or characters after EOT; mark). If you don't like the broken indentation you can try another methods for doing multi line strings in PHP, but I think using nowdoc is more easy when you need to insert html.
     
    1.2 Adding custom meta tags to the new static page (optional)
     
    1. Open plugins/cms/controller/main.php
    Find
    $this->set("content", $html); Add Before:
                                $metatags = <<<EOT <meta property="og:title" content="foo"/> <meta property="og:description" content="bar."/> <meta property="og:image" content="baz"/> <meta property="og:url" content="http://www.example.com/services"/>     EOT;                             $this->structure->set("metatags" , $metatags); 2. Open /app/views/client/bootstrap/structure.pdt (or in your own template)
    Find
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> Add after
    <?php echo $this->Html->ifSet($metatags) ?> Dev note: this could be easier if could find a way to get structure protected property values, then concat the metatags to an existing variable like $custom_head (Is there a method like $this->structure->get()?)
     
     
     
    Also, don't forget that the Portal plugin is being developed for being a fully functional CMS system, so this would not be needed in the future.
     
    Here is my result, I'm linking this custom static page from the blesta portal main page for linking to different order pages (currently in design and module coding process, blesta flexibility is awesome)
     
    Result:
     

     
    Setting what Facebook shows by modifying meta tags

    I hope somebody finds this useful
     
    Bye
     
    EDIT: fixed a detail in $url definition
    EDIT2: Added how to add custom html into <head>
    EDIT3. Confirming that this still works for Blesta 3.5.1
  4. Like
    Rodrigo got a reaction from Paul in [Custom Report] Paid Invoices Ids Per Day Of Month   
    Hi,
     
    As Cody suggested in my previous post about MySQL queries that might give you some insights about critical situations, now I'm making custom report to make it easy to use and export from Blesta admin interface.
     
    Output Preview (CSV data):

     
     
    Setup
    1. Create a new custom report
    2. Put the name you want to the report 
    3. Paste the following code in Query:
    SELECT DATE(invoices.date_closed) Day, count(*) "Paid invoices", GROUP_CONCAT(invoices.id SEPARATOR ', ') "Invoices ID", SUM(invoices.paid) "Total Paid" from invoices where invoices.date_closed IS NOT NULL AND MONTH(invoices.date_closed) = MONTH(:chosen_date) AND YEAR(invoices.date_closed) = YEAR(:chosen_date) AND currency = ":currency" GROUP BY DAY(invoices.date_closed); 4. Add the following fields:
    ---
    Label: Month
    Name: chosen_date
    Type: Date
    Required: Yes
    ---
    Label: Currency
    Name: currency
    Type: Text
    Required: Yes
    ---
    5. Click on Save and now it's ready to be used
     
     
    You can also put the currency field as a Select field with the currency codes you use instead of having to write "USD" (or whatever you use) every time.
     
    I'm using this query to get the invoices ID to look and generate e-invoices with a 3rd party API, which is required in my country. 
     
     
  5. Like
    Rodrigo got a reaction from activa in [Custom Report] Paid Invoices Ids Per Day Of Month   
    Hi,
     
    As Cody suggested in my previous post about MySQL queries that might give you some insights about critical situations, now I'm making custom report to make it easy to use and export from Blesta admin interface.
     
    Output Preview (CSV data):

     
     
    Setup
    1. Create a new custom report
    2. Put the name you want to the report 
    3. Paste the following code in Query:
    SELECT DATE(invoices.date_closed) Day, count(*) "Paid invoices", GROUP_CONCAT(invoices.id SEPARATOR ', ') "Invoices ID", SUM(invoices.paid) "Total Paid" from invoices where invoices.date_closed IS NOT NULL AND MONTH(invoices.date_closed) = MONTH(:chosen_date) AND YEAR(invoices.date_closed) = YEAR(:chosen_date) AND currency = ":currency" GROUP BY DAY(invoices.date_closed); 4. Add the following fields:
    ---
    Label: Month
    Name: chosen_date
    Type: Date
    Required: Yes
    ---
    Label: Currency
    Name: currency
    Type: Text
    Required: Yes
    ---
    5. Click on Save and now it's ready to be used
     
     
    You can also put the currency field as a Select field with the currency codes you use instead of having to write "USD" (or whatever you use) every time.
     
    I'm using this query to get the invoices ID to look and generate e-invoices with a 3rd party API, which is required in my country. 
     
     
  6. Like
    Rodrigo got a reaction from Michael in [Custom Report] Paid Invoices Ids Per Day Of Month   
    Hi,
     
    As Cody suggested in my previous post about MySQL queries that might give you some insights about critical situations, now I'm making custom report to make it easy to use and export from Blesta admin interface.
     
    Output Preview (CSV data):

     
     
    Setup
    1. Create a new custom report
    2. Put the name you want to the report 
    3. Paste the following code in Query:
    SELECT DATE(invoices.date_closed) Day, count(*) "Paid invoices", GROUP_CONCAT(invoices.id SEPARATOR ', ') "Invoices ID", SUM(invoices.paid) "Total Paid" from invoices where invoices.date_closed IS NOT NULL AND MONTH(invoices.date_closed) = MONTH(:chosen_date) AND YEAR(invoices.date_closed) = YEAR(:chosen_date) AND currency = ":currency" GROUP BY DAY(invoices.date_closed); 4. Add the following fields:
    ---
    Label: Month
    Name: chosen_date
    Type: Date
    Required: Yes
    ---
    Label: Currency
    Name: currency
    Type: Text
    Required: Yes
    ---
    5. Click on Save and now it's ready to be used
     
     
    You can also put the currency field as a Select field with the currency codes you use instead of having to write "USD" (or whatever you use) every time.
     
    I'm using this query to get the invoices ID to look and generate e-invoices with a 3rd party API, which is required in my country. 
     
     
  7. Like
    Rodrigo reacted to Cody in Analysing Blesta Database (Useful Mysql Queries)   
    These can also be added to Blesta as Custom Reports, which is super cool, and would even allow you to customize them across dates or status values, etc.
  8. Like
    Rodrigo got a reaction from Serendesk in Analysing Blesta Database (Useful Mysql Queries)   
    When you have a blesta setup with relatively high client volume, you may want to periodically check if everything is OK, or clean up things that should not be there (i.e: data that is not automatically removed by blesta/plugins).
     
    I've come up to this queries which I use periodically:
     
    - Show users that have at least 1 active service and more than 3 unpaid invoices: This may happen when a provision plugin is not suspending a service, or just human mistake (useful to find customers that are not paying because of not having their services suspended)
    SELECT many_invoices_customers.id 'customer_id', services.id_value 'service_id' from (SELECT i.client_id 'id',  count(*) 'c' FROM invoices i, clients c WHERE c.id = i.client_id AND i.status != 'void' and i.paid != i.total  GROUP BY i.client_id HAVING c > 3) many_invoices_customers, services WHERE services.client_id = many_invoices_customers.id AND services.status = 'active'; - Show users that have more than 3 unpaid invoices and at least 1 suspended service: let's you clean up users that don't pay anymore (and manually cancel them)
    SELECT many_invoices_customers.id 'customer_id', services.id_value 'service_id', many_invoices_customers.c 'invoices_number' from (SELECT i.client_id 'id',  count(*) 'c' FROM invoices i, clients c WHERE c.id = i.client_id AND i.status != 'void' and i.paid != i.total  GROUP BY i.client_id HAVING c > 3) many_invoices_customers, services WHERE services.client_id = many_invoices_customers.id AND services.status = 'suspended' ORDER BY many_invoices_customers.c DESC; I haven't implemented auto service cancel yet, but maybe is useful to someone here
     
    *Those queries are meant to be executed directly into your blesta MySQL DB.
  9. Like
    Rodrigo got a reaction from activa in Analysing Blesta Database (Useful Mysql Queries)   
    When you have a blesta setup with relatively high client volume, you may want to periodically check if everything is OK, or clean up things that should not be there (i.e: data that is not automatically removed by blesta/plugins).
     
    I've come up to this queries which I use periodically:
     
    - Show users that have at least 1 active service and more than 3 unpaid invoices: This may happen when a provision plugin is not suspending a service, or just human mistake (useful to find customers that are not paying because of not having their services suspended)
    SELECT many_invoices_customers.id 'customer_id', services.id_value 'service_id' from (SELECT i.client_id 'id',  count(*) 'c' FROM invoices i, clients c WHERE c.id = i.client_id AND i.status != 'void' and i.paid != i.total  GROUP BY i.client_id HAVING c > 3) many_invoices_customers, services WHERE services.client_id = many_invoices_customers.id AND services.status = 'active'; - Show users that have more than 3 unpaid invoices and at least 1 suspended service: let's you clean up users that don't pay anymore (and manually cancel them)
    SELECT many_invoices_customers.id 'customer_id', services.id_value 'service_id', many_invoices_customers.c 'invoices_number' from (SELECT i.client_id 'id',  count(*) 'c' FROM invoices i, clients c WHERE c.id = i.client_id AND i.status != 'void' and i.paid != i.total  GROUP BY i.client_id HAVING c > 3) many_invoices_customers, services WHERE services.client_id = many_invoices_customers.id AND services.status = 'suspended' ORDER BY many_invoices_customers.c DESC; I haven't implemented auto service cancel yet, but maybe is useful to someone here
     
    *Those queries are meant to be executed directly into your blesta MySQL DB.
  10. Like
    Rodrigo reacted to Squidix Web Hosting in Allow Invoices To Show Within The Browser Instead Of Forcing Download   
    Having these things force download is a huge pain.
     
    This has been discussed - http://www.blesta.com/forums/index.php?/topic/1131-view-pdf-invoices-from-within-browser/
     
    Cody suggested a setting to accommodate the fact that this may cause issues with some browsers.
     
  11. Like
    Rodrigo got a reaction from Jonathan in [Blesta 3.2.1-3.5.1] Universal Module Workaround 2: Hide Certain Service Fields From Being Shown On Order Page   
    This patch should help to use the Universal Module for manually provisioning services that need administrators to fill service fields with data after they do the activation. e.g. dedicated servers, IP needs to be shown at control panel after the service is activated, but it shouldn't be asked at order page.

    Requirements.
    - Blesta 3.2.1
    Update: I Upgraded to Blesta 3.5.1 and It worked fine

    Instructions:
    1. Open components/modules/universal_module/universal_module.php

    Find:
    public function getClientAddFields($package, $vars=null) { // Same as admin return $this->getAdminAddFields($package, $vars); } Replace with:
    public function getClientAddFields($package, $vars=null) { $fields = new ModuleFields(); if (!isset($vars->meta)) $vars->meta = array(); if (isset($package->module_row) && $package->module_row > 0) { $row = $this->getModuleRow($package->module_row); // Set the module row, which will allow us to reference it later when getName() is invoked $this->setModuleRow($row); $row_fields = array(); if ($row->meta) { $row_fields = $this->formatModuleRowFields($row->meta); $field_data = array(); // Reformat package fields into a more usable format foreach ($row_fields['service_fields'] as $key => $values) { foreach ($values as $i => $value) { $field_data[$i][$key] = $value; } } $newfield_data = array(); foreach($field_data as $field) { if(strpos($field['name'], "dontask_") !== false) { continue; } $newfield_data[] = $field; } $this->setModuleFields($fields, $newfield_data, $vars); } } return $fields; } 2. Add "_dontask" in any part of the service field name

    3. Protip: you should combine this patch with Universal Module Workaround: Show Service Fields At Client Panel , for best experience.
     
    Preview (Using both patches):
     
    Setting up Universal Module for showing certain service fields in Client's Manage Service (Workaround 1) and Hiding some service fields from being asked at order page

     
    Order Page with hidden fields

    Admin CP: Manually activating service, all fields being shown

    Fields Shown to Client (Workaround 1 + 2)

     
    Download universal_module.php with both workarounds applied (Only for Blesta 3.2.1):  universal_module.php
  12. Like
    Rodrigo reacted to Blesta Addons in Translate Blesta Plugin   
    a lot of us want to translate blesta to thier native language , but this are a obstacle , big obstacle , is the translator website , is not easy to manage translation and to correct some old translation .
    the worth is in blesta upgrade , how you can know wich file has been added to it some new lang ?
    so i have this issue for long time , and i have resolved with my own way , today i have dedcied to share the translator plugin with the community , my translator motor , check the native language 'en_us' with the existing languages , with this plugin you can know :
    wich file are missing from your language directory .
    wich phrases are missing from your language file .
    translated the files within your blesta system , save it .
    off course drink coffe with you playing with the translation . before i upload it , what you need tose in this translator plugin .
    screenshot
    http://host-image.net/v.php?id=69170admin_languages.png
    waiting your's idea .
  13. Like
    Rodrigo reacted to Blesta Addons in Allow Module To Set Message Like Seterrors   
    the modules can set the errors messages , but the they can't set the success messages .
     
    and based on this response from  tyson the modules can't set success messages http://www.blesta.com/forums/index.php?/topic/3145-flashmessage-or-setmessage-in-gateway/?p=22741
     
    the main need here in the tabs section , when a client/staff make some post/change , if error occur the error is shown , but when is finiched with succes , no message is diplayed .
     
    why not to add new Input::success() , Input::info() , Input::warning() ?
  14. Like
    Rodrigo got a reaction from serge in [Blesta 3.2-3.5.1] How To Make Static Pages By Modifying Portal Plugin   
    Hi,
     
    I'm sharing a quick method for making custom static pages in blest system without any additional plugin. Please consider that any future update would require to take care of the changes made as they can be erased.
     
    In this example I'll be doing a static page that will be located in your_blesta_location.com/services
     
    1.1 Creating a static page with custom HTML
     
    1. Open plugins/cms/controller/main.php
    Find:
    else { $this->redirect($this->base_uri); } Replace for:
    else {                         switch($uri) {                           case 'services':                             $this->structure->set("page_title", "*** INSERT PAGE TITLE ***");                             $this->structure->set("title", "*** INSERT TITLE SHOWN ON PORTAL TEMPLATE ***");                             // Placeholders won't work with this method, so let's use variables $url = rtrim($this->base_url, "/");                             $blesta_url = $this->Html->safe($url . WEBDIR);                             $html = <<<EOT       <div class="col-md-4 col-sm-6 portal-box">         <a href="{$blesta_url}services>             <div class="well">                 <i class="fa fa-cogs fa-4x"></i>                 <h4>Foo</h4>                 <p>Bar.</p>             </div>         </a>     </div>     EOT;                             $this->set("content", $html);                             break;                           default:                                $this->redirect($this->base_uri);                         }  } You can repeat the php case for making all the static pages you want, putting HTML between the EOT marks (There should be no space or characters after EOT; mark). If you don't like the broken indentation you can try another methods for doing multi line strings in PHP, but I think using nowdoc is more easy when you need to insert html.
     
    1.2 Adding custom meta tags to the new static page (optional)
     
    1. Open plugins/cms/controller/main.php
    Find
    $this->set("content", $html); Add Before:
                                $metatags = <<<EOT <meta property="og:title" content="foo"/> <meta property="og:description" content="bar."/> <meta property="og:image" content="baz"/> <meta property="og:url" content="http://www.example.com/services"/>     EOT;                             $this->structure->set("metatags" , $metatags); 2. Open /app/views/client/bootstrap/structure.pdt (or in your own template)
    Find
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> Add after
    <?php echo $this->Html->ifSet($metatags) ?> Dev note: this could be easier if could find a way to get structure protected property values, then concat the metatags to an existing variable like $custom_head (Is there a method like $this->structure->get()?)
     
     
     
    Also, don't forget that the Portal plugin is being developed for being a fully functional CMS system, so this would not be needed in the future.
     
    Here is my result, I'm linking this custom static page from the blesta portal main page for linking to different order pages (currently in design and module coding process, blesta flexibility is awesome)
     
    Result:
     

     
    Setting what Facebook shows by modifying meta tags

    I hope somebody finds this useful
     
    Bye
     
    EDIT: fixed a detail in $url definition
    EDIT2: Added how to add custom html into <head>
    EDIT3. Confirming that this still works for Blesta 3.5.1
  15. Like
    Rodrigo got a reaction from LukesUbuntu in Which Is The Best Way To Make A Provisioning Module With Queue On Backend   
    Hi,
     
    I'm thinking about making a custom provisioning module for my game servers since I don't use any known game server panel.
     
    Since there may be some deployments that are not so fast, it's not possible to return the server data in the same call to the backend API (like multicraft does). Along with this, I want to implement a deployment queue at backend, so if 10 clients rent a server at the same time, Blesta will add a job to the backend's queue (via POST to an API) and then a job processor at backend will poll every 10 seconds for a new game-server install job.
     
    The part that i'm not sure how to do is how the backend notify Blesta that the service has been activated, considering that in a worst case scenario deployment can be done 999 days later after blesta POSTed the job into backend's queue.
     
    So I've been thinking about some ways to do this:
    1) Magic blesta API call that I don't discover yet which allows to set service field data and mark service as active so the welcome e-mail is sent
    2) Make the backend send the e-mail with service field data generated at deployment (i.e the IP address of a virtual machine, or a gameserver port ). In this case, I don't know how to send this data back to blesta, so custom data is shown at service tab.
     
     
     
     
    Does anybody have a suggestion or maybe had experience developing a similar module?
     
    Thanks!
     
     
     
     
  16. Like
    Rodrigo got a reaction from PauloV in [Universal Module] Service Details   
    You can try my workaround to this issue at using Universal Module for dedicated servers for instance (you need to let the user know what's their IP address, assigned after the order is done)
     
         [blesta 3.2.1] Universal Module Workaround: Show Service Fields At Client Panel    
         [blesta 3.2.1/3.3] Universal Module Workaround 2: Hide Certain Service Fields From Being Shown On Order Page    
     
    Both should work with blesta 3.3
  17. Like
    Rodrigo got a reaction from Blesta Addons in [Universal Module] Service Details   
    You can try my workaround to this issue at using Universal Module for dedicated servers for instance (you need to let the user know what's their IP address, assigned after the order is done)
     
         [blesta 3.2.1] Universal Module Workaround: Show Service Fields At Client Panel    
         [blesta 3.2.1/3.3] Universal Module Workaround 2: Hide Certain Service Fields From Being Shown On Order Page    
     
    Both should work with blesta 3.3
  18. Like
    Rodrigo got a reaction from tenaki in Fully Custom Blesta Order Page   
    Hi,
     
    Finally I've managed to make the custom order page design by applying a hack to order form controller that let me to assign an specific blesta template for this order page without changing the template of any other page.
     

     
    Maybe this would apply for a feature request, because with the current system we can't do a full order page customization
  19. Like
    Rodrigo reacted to wantoo in [Order] Configurable Options & Addons Descriptions   
    I was just wondering why the configurable options and addon packages don't have descriptions to explain what they are for. So I would like to open a feature request to have a ? next to or a line underneath the title with the description set.
  20. Like
    Rodrigo got a reaction from flangefrog in Remove Client Tax Id Field   
    That's pretty necessary! When I found that problem I just did it the hard way (deleting lines and stuff).
     
    Thanks for your contribution
  21. Like
    Rodrigo reacted to flangefrog in Remove Client Tax Id Field   
    Quick hack to remove the Tax ID/VATIN field from the client's "Edit My Information" page, registration page and ajax, standard and wizard templates. Use with vQmod
     
    See:
    http://dev.blesta.com/browse/CORE-547
    http://www.blesta.com/forums/index.php?/topic/3258-add-option-to-disable-client-tax-id/
    http://www.blesta.com/forums/index.php?/topic/476-ask-for-tax-id/
    http://www.blesta.com/forums/index.php?/topic/1523-disallow-clients-to-edit-some-fields-from-the-client-area/
     
    Version 1.1.0
    remove_client_tax_id.xml
  22. Like
    Rodrigo reacted to flangefrog in Fully Custom Blesta Order Page   
    It looks like the correct way to do this is to edit the plugins/order/views/templates/*/config.json and add a new template style.
    { "version": "1.1.0", "name": "AJAX Template Pack", "description": "AJAX order form template pack for the Order plugin.", "authors": [ { "name": "Phillips Data, Inc.", "url": "http://www.blesta.com" } ], "styles": { "slider": { "name": "AJAX Slider", "thumbnail": "images/thumb_slider.png", "screenshot": "images/full_slider.png" }, "boxes": { "name": "AJAX Boxes", "thumbnail": "images/thumb_boxes.png", "screenshot": "images/full_boxes.png" }, "my_custom_style": { "name": "My Custom Style", "thumbnail": "images/thumb_custom.png", "screenshot": "images/full_custom.png" } } }  Then inside the .pdt files you can use
    <?php if ($order_form->template_style == "my_custom_style") { ?> <p>My custom HTML</p> <?php } ?> Here's the change you made as a vQmod. It's really easy to learn, best time to start is now 
    custom_order_view.xml
  23. Like
    Rodrigo reacted to PauloV in Best Responsive Framework?   
    I started only to find a cool framework for responsive websites, and ended to find a better almost perfect IDE to build Responsive Websites + Mobile APP's
     
    Thanks for all (naja7host), helping find the Perfect IDE for building Responsive Websites + Mobile APP's, and the great is that all is free
     
    NetBeans (https://netbeans.org/) + Cordova (http://cordova.apache.org/)+ (SDK's of all Mobiles) = The Best Free APP Builder for Android/IOS/WINDOWS Mobile
    NetBeans (https://netbeans.org/) + HTML5 = The Best IDE for building Responsive Websites
     
    Many thanks to flangefrog in this post: http://www.blesta.com/forums/index.php?/topic/2973-fully-custom-blesta-order-page/#entry23967 and ofcourse some reserach what NetBeans can do that outhers dont do
     
    P.S- Installing everithing on Windows 8.1 take me one full day of researching and testing/debugging, but in the end it compensates every hour spended
     
    Now I can build and test in real time my APP's and/or Responsive Websites on my SmartPhone/Tablet/Browser in mutiple OS's
     
    Everithing is now set to start building an APP for IOS and Android for Blesta (wen I get some free time, and finish some pending work at the office)
     
    To anyone ho want to start build mobile aplications now its the time, its so easy, like a simple website (some acknowledgement in javascript/css/html ofcourse)
     
    I use UNITY3D in the past but takes more time to develop than this, UNITY3D is good only for games, for app's takes alot of time
  24. Like
    Rodrigo reacted to PauloV in Best Responsive Framework?   
    Hello Blestars
     
    We will start a new project for one client and we want to use the the best responsive framework to be compatible with the major browsers versions (IE8 +, CG, FF, Safari) and also multiplataform Desktop/Tablet/Mobile screens with some "Touch" UI wen in Mobile Mode
     
    We have reduced to this 2 frameworks, but maybe there are better ones that we dont know about it
     
    Foundation V5 - http://foundation.zurb.com/
    Bootstrap V3 - http://getbootstrap.com/
     
    We think Foundation is better (Love how tables work), but we are not 100% sure
     
    We appreciate some feedback to help us out
     
    Thanks in advance,
    PV
  25. Like
    Rodrigo got a reaction from flangefrog in Fully Custom Blesta Order Page   
    Hi,
     
    Finally I've managed to make the custom order page design by applying a hack to order form controller that let me to assign an specific blesta template for this order page without changing the template of any other page.
     

     
    Maybe this would apply for a feature request, because with the current system we can't do a full order page customization
×
×
  • Create New...