Jump to content

Community

IPCommerceFan

+Clients
  • Content Count

    332
  • Joined

  • Last visited

1 Follower

About IPCommerceFan

  • Rank
    Member

Recent Profile Visitors

6,602 profile views
  1. I got this working by modifying \IPS\nexus\Package\CustomField (the actual php file that relates to that class)! All I had to do was: - borrow the $form->add statements for pf_max_input and pf_input_format from \IPS\CustomField\CustomField - comment out the "unset" statements for those fields - Add the fields to the nexus_package_fields table in the database It works like a charm! Now to figure out how to do what I did in the form of a plugin or application since I don't really feel comfortable with the fact I edited the source files directly... Still hoping IPS will roll this into the core product, but I'm very thankful for the fact the framework was intuitive enough to allow this workaround!
  2. I just started experimenting with REST along with Commerce Rules: To fire custom PHP when a purchase is generated. I got it to do exactly what I want, which is to create a new support request when there is a purchase, containing further instructions for our customers. The only issue, though, is it seems SR's created this way do not generate an email the way they do when you go to AdminCP Commerce -> Customer -> New Support Request. So I'm reporting this to see if this is the intended functionality (no email notification for REST API created support requests), or if its perhaps a bug/oversight? Heres some context: //<?php //Purchase Data $p_id = $purchase->id; $member = $purchase->member->member_id; $email = $purchase->member->email; //REST API URL and KEY $communityUrl = '<...>'; $apiKey = '<...>'; //Create Support Requst $endpoint_request = '/nexus/supportrequests'; $curl_request = curl_init( $communityUrl . 'api' . $endpoint_request ); $message = '<...>'; $curl_post_data_request = array( 'title' => 'Support request via REST', 'department' => 1, 'staff' => 1, 'account' => $member, 'email' => $email, 'message' => $message, 'purchase' => $p_id ); curl_setopt_array( $curl_request, array( CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPAUTH => CURLAUTH_BASIC, CURLOPT_USERPWD => "{$apiKey}:", CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => $curl_post_data_request ) ); $response_request = curl_exec( $curl_request ); // Grab Support Reply ID for firstMessage of Request $request = json_decode($response_request); $request_id = $request->firstMessage->id; // Change Support Request Author to Staff $endpoint_reply = '/nexus/supportreplies/' . $request_id; $curl_reply = curl_init( $communityUrl . 'api' . $endpoint_reply ); $curl_post_data_reply = array( 'author' => 1 ); curl_setopt_array( $curl_reply, array( CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPAUTH => CURLAUTH_BASIC, CURLOPT_USERPWD => "{$apiKey}:", CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => $curl_post_data_reply ) ); $response_reply = curl_exec( $curl_reply ); return "action complete";
  3. This is still not available as of 4.3.6: Commerce --> Store --> Custom Fields This is what is needed (specifically Default Value, Max Length, Custom Input Validation, and Apply text formatter): Pages --> Content --> Fields Fingers crossed for 4.4.
  4. To expand on this, packages which are being upgraded TO sometimes may have more custom fields available than the package they are being upgraded FROM. Currently the "Upgrade" process does not give you the option to fill out any fields which may be exclusive to the higher tier product.
  5. Just because we've received a lot of requests for whether we support this payment method, I'm suggesting this as an addition to Commerce. https://docs.affirm.com/
  6. Works perfectly! If you're open to suggestions, I'd humbly suggest "<> has replied to your support ticket" include something that describes which support request is being replied to? Either the support request title or ID, or both? "Member has replied to your support ticket - #1234 - Help!" Also, do you think this could be extended to also notify admins when any ticket in the system, based on their currently selected filter, is replied to? fwiw, @Aiwa created a similar app for us on 3.4.9 (https://aiwa.me/files/file/16-support-request-menu/) that is sorely missed, since once you've cleared all support requests, it can be distracting/cumbersome to keep checking for new tickets when there are other tasks that need doing. With the way IPS can do desktop notifications now, it would be great to know almost immediately after someone replies to a ticket so a prompt response can be provided. :) Thanks again!
  7. Same. We'd love to be able to send an email to customers who bought <x> product, and where a particular custom field or fields for that purchase matches some criteria (boolean, regex, length). It'd be neat if "Filters" (searches) like this could be set up and saved in similar fashion to how Support Requests filters work. We get by currently by querying the database and exporting to Mailchimp via CSV. It works, but it would be so much better (and less costly) to keep it all in-house, we don't really rely on click tracking.
  8. Hi, I think it would be beneficial to show Upgrade options on the storefront, instead of expecting customers to locate upgrade options within the "Manage Purchases" module. e.g. Imagine all the packages in this group are somehow related, and are upgrade-able. This customer owns 1x of Package A and 2x of Package B already. This way its easier to see that a package can be upgraded. Currently it is hidden away in the Manage Purchases section, so we are using Discounts instead. The issue with offering discounts for purchases that should be upgrades, is that when you base a discount off a previous purchase, it applies to all future purchases. e.g. If I bought 1x Package A, I'd get the discounted price on as many of Package B as I want. The above image of course may not be ideal for all use cases, but I just wanted to convey an idea of how upgrade pricing could be represented. Maybe it could work similar to product options, where the price changes to "From <lowest configurable price>" or in this case, "From <lowest cost upgrade path>", and the Add to cart button changes to "View purchase options", where upgrades are offered first. Just want to submit this for consideration, since I'd really like to start using Upgrades instead of Discounts. :) Thanks!
  9. Thanks! It does appear I was using the old template.xml (due to some customizations I didn't want to lose) with the new plugin. My mistake, thank you for the support!
  10. Hi, I recently upgraded my site from 4.3.5 to 4.3.6 and SuperGrid seemed fine, but upon doing a FRESH install of 4.3.6 (on my test site) then immediately installing the supergrid templates and plugin, I ran into this error on the articles front page (/index.php?/articles.html/): Error: Call to undefined method IPS\cms\Records1::reputation() (0) #0 /home/testsite/public_html/applications/cms/sources/Theme/Theme.php(610) : eval()'d code(697): IPS\Theme\class_cms_database_Supergrid_FrontPage->entry(Object(IPS\cms\Records1), Object(IPS\cms\Databases)) #1 /home/testsite/public_html/applications/cms/modules/front/database/index.php(142): IPS\Theme\class_cms_database_Supergrid_FrontPage->index(Object(IPS\cms\Databases), Object(IPS\Patterns\ActiveRecordIterator), Object(IPS\Http\Url\Friendly), Array) #2 /home/testsite/public_html/applications/cms/modules/front/database/index.php(51): IPS\cms\modules\front\database\_index->view() #3 /home/testsite/public_html/system/Dispatcher/Controller.php(96): IPS\cms\modules\front\database\_index->manage() #4 /home/testsite/public_html/applications/cms/sources/Databases/Dispatcher.php(325): IPS\Dispatcher\_Controller->execute() #5 /home/testsite/public_html/applications/cms/widgets/Database.php(130): IPS\cms\Databases\_Dispatcher->run() #6 /home/testsite/public_html/applications/cms/sources/Pages/Page.php(1257): IPS\cms\widgets\_Database->render() #7 /home/testsite/public_html/applications/cms/sources/Pages/Page.php(2191): IPS\cms\Pages\_Page->getWidgets() #8 /home/testsite/public_html/applications/cms/modules/front/pages/page.php(73): IPS\cms\Pages\_Page->output() #9 /home/testsite/public_html/applications/cms/modules/front/pages/page.php(43): IPS\cms\modules\front\pages\_page->view() #10 /home/testsite/public_html/system/Dispatcher/Controller.php(96): IPS\cms\modules\front\pages\_page->manage() #11 /home/testsite/public_html/applications/cms/modules/front/pages/page.php(33): IPS\Dispatcher\_Controller->execute() #12 /home/testsite/public_html/system/Dispatcher/Dispatcher.php(146): IPS\cms\modules\front\pages\_page->execute() #13 /home/testsite/public_html/index.php(13): IPS\_Dispatcher->run() #14 {main} also this one here /index.php?/articles.html/articles/: Error: Call to undefined method IPS\cms\Records1::reputation() (0) #0 /home/testsite/public_html/applications/cms/sources/Theme/Theme.php(610) : eval()'d code(779): IPS\Theme\class_cms_database_supergrid_listing->recordRow(Object(IPS\Helpers\Table\Content), Array, Array) #1 [internal function]: IPS\Theme\class_cms_database_supergrid_listing->categoryTable(Object(IPS\Helpers\Table\Content), Array, Array, NULL, true) #2 /home/testsite/public_html/system/Helpers/Table/Table.php(548): call_user_func(Array, Object(IPS\Helpers\Table\Content), Array, Array, NULL, true) #3 /home/testsite/public_html/applications/cms/modules/front/database/category.php(533): IPS\Helpers\Table\_Table->__toString() #4 /home/testsite/public_html/applications/cms/modules/front/database/category.php(40): IPS\cms\modules\front\database\_category->view() #5 /home/testsite/public_html/system/Dispatcher/Controller.php(96): IPS\cms\modules\front\database\_category->manage() #6 /home/testsite/public_html/applications/cms/sources/Databases/Dispatcher.php(325): IPS\Dispatcher\_Controller->execute() #7 /home/testsite/public_html/applications/cms/widgets/Database.php(130): IPS\cms\Databases\_Dispatcher->run() #8 /home/testsite/public_html/applications/cms/sources/Pages/Page.php(1257): IPS\cms\widgets\_Database->render() #9 /home/testsite/public_html/applications/cms/sources/Pages/Page.php(2191): IPS\cms\Pages\_Page->getWidgets() #10 /home/testsite/public_html/applications/cms/modules/front/pages/page.php(73): IPS\cms\Pages\_Page->output() #11 /home/testsite/public_html/applications/cms/modules/front/pages/page.php(43): IPS\cms\modules\front\pages\_page->view() #12 /home/testsite/public_html/system/Dispatcher/Controller.php(96): IPS\cms\modules\front\pages\_page->manage() #13 /home/testsite/public_html/applications/cms/modules/front/pages/page.php(33): IPS\Dispatcher\_Controller->execute() #14 /home/testsite/public_html/system/Dispatcher/Dispatcher.php(146): IPS\cms\modules\front\pages\_page->execute() #15 /home/testsite/public_html/index.php(13): IPS\_Dispatcher->run() #16 {main} Can anyone else corroborate this? Fresh 4.3.6 install (using utf8mb4 if it matters), then installing ONLY the supergrid templates and plugin (and assigning the templates to the default database). Thanks!
  11. Would be nice, especially since categories have a 'Cover Image' now. Could use that for the embed.
  12. Hi, Quick one: We should be able to filter tickets via custom fields. Add "Custom Fields Contain" below this line. Equivalent of WHERE `r_cfields` LIKE '%searchquery%' I figure if we have custom fields available for support requests, it would only make sense to be able to search by them as well. Bonus would be searching by Purchase custom fields where a ticket has an associated purchase, but I figure that'd be more resource intensive. Thanks!
  13. Great news! I'm hoping this eventually leads to receiving notifications for support requests as they come in, based on the currently selected ticket filter!
  14. Idea time! Wouldn't it be great if a Commerce Package could exist in more than one Package Group? In database speak, have a packages' p_group be an array, instead of a constant. Like this: p_group='{"1","2"}', and in the ACP, call it "Groups" instead of "Group", and it be a multi-select instead of a single select. This way, you could have a store where products that pertain to more than one package group can be listed in each group without having to be separate, distinct, listings of the same product. It'd be better for sales tracking and SEO this way too. If a package absolutely must belong to only a single group, then perhaps some sort of functionality to "also display in" would be suitable? Thanks!
×
×
  • Create New...