• Content count

  • Joined

  • Last visited

Community Reputation

118 Excellent

About jmartsch

  • Rank
    Distinguished Member

Contact Methods

  • Website URL
  • Skype

Profile Information

  • Gender
  • Location
    Münster, Germany

Recent Profile Visitors

3,604 profile views
  1. Hi @tpr. Do you know how to set another theme for Codemirror? If I use it, my HTML source code becomes unreadable of the theme (which seems to be moono-lisa).
  2. Maybe Magento 2 in conjunction with ProcessWire will fit your needs. Take a look at the post where I contributed a possible solution to get this working. If there are more people who are working with this approach, we get a nice bridge between the two systems.
  3. You can also include (bootstrap) ProcessWire into Magento.
  4. Hi @pandaman For one of my customers I made some basic experiments to connect the both systems together. Your arguments are valid. I also told him to combine the best of two worlds and let each system do what it's best for. What I can say right now, it is possible, but there might be pitfalls, that I didn't discover yet. One problem was the session management which caused conflicts so you have to modify it. Right now I have the following working solution (PW 3 and Magento 2.1): I installed Magento 2.1 in a "store" directory that lies right beside site and wire directories. I made a magento2-bridge.php in site/templates/ <?php namespace ProcessWire; require $_SERVER['DOCUMENT_ROOT'] . '/store/app/bootstrap.php'; use Magento\Framework\App\Bootstrap; class StoreApp { private static $instance; public static function get_instance() { if ( ! isset(self::$instance) && ! (self::$instance instanceof StoreApp) ) { self::$instance = new StoreApp(); } return self::$instance; } public $helper; public $quote; public $session; public $cart; public $customer; private function __construct() { $bootstrap = Bootstrap::create(BP, $_SERVER); $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $this->customer = $obj->get('Magento\Customer\Model\Session')->getCustomer(); $this->quote = $obj->get('Magento\Checkout\Model\Session')->getQuote(); $this->helper = $obj->get('\Magento\Checkout\Helper\Cart'); $this->session = $obj->get('Magento\Checkout\Model\Session'); $this->cart = $obj->get('\Magento\Checkout\Model\Cart'); } } I had to modify the session management in Magento, so it stores its session variables in ProcessWires directory. I hope I remember this correctly: Change the Cookie Path in Magento @ Stores -> Configuration -> Web -> Defaut Cookie Settings to "/" (without the quotes) Change the save_path for sessions under store/app/etc/env.php 'session' => array ( 'save' => 'files', 'save_path' => $_SERVER['DOCUMENT_ROOT'].'/site/assets/sessions', At some point I changed the sessionAllow parameter of ProcessWire, but I don´t know if this is needed anymore. But for completeness, here is the code I used: $config->sessionAllow = function () { if (strpos($_SERVER['REQUEST_URI'], '/processwire/') === 0) { return true; } return false; }; Then in my site/templates/home.php I have the following code, to get data from Magento (like Customer data, what is in the cart, product information): require_once __DIR__ .'/magento2-bridge.php'; $store = StoreApp::get_instance(); $quote = $store->helper->getQuote(); $quoteitems = $quote->getAllItems(); $customer = $store->customer; bd($customer->getName()); foreach ($quoteitems as $item) { // Code to get contents per product bd($item->getName()); bd($item->getQty()); } If you are wondering what bd() means. It is a debugging output from Tracy Debugger for ProcessWire (recommended install). Why do I share this information here although it was very time-consuming and expensive to figure this out? Because I had great support from the PW community and want to give something back. If you make any progress with this, please try to do the same and share your findings with our lovely community.
  5. I want to trigger an action when I save my custom module configuration. Right now, I got the following code which is not working: public function ready() { $this->addHookAfter('Modules::saveConfig', $this, 'afterSave'); } public function afterSave() { $this->message("saved module config"); // Also I need the saved module settings here } I also need the values of the module configuration after saving, so I can trigger an action. Any ideas?
  6. +1 Displaying a changelog before upgrading a module or even the core is badly needed. Also the changelog should be visible everytime on a module detail page.
  7. @ryan Right now the view that shows translation files "Setup > Languages > German" is not very intuitive and confuses users and translators, because they are confronted with cryptic names (Textdomains) instead of clear to read names. How can we make it better? Add clear to read labels like the module name from modules and the filename without the path from other files (.php). The path information has to be more subtle, as it is not that important for most users Take a look at the first two entries compared to the lower two. This can be done very quickly by adding some styles. Either flexbox or floats would do the job. Here is what I did (just quick and dirty and not the best way) Changed order of the file path to last. Added CSS to InputfieldFileLanguageFilename description: <span class="InputfieldFileLanguageFilename description" style=" position: absolute; right: 0; padding-right: 10px; font-size: 13px; color: #ccc; ">/site/templates/main.php</span> What you think of that?
  8. @tpr With the new tablecellselection.js it works In my eyes, the Lightwire skin looks nicer than the default skin. Especially the design of the dropdowns and the icons. Can´t you update the default skin so it uses your styles? Maybe even publish it on the site. The changes are subtle but noticable.
  9. Hello @tpr I have a problem with Pro Fields: Table in conjunction with AdminOnSteroids. If I use the Table Cells Selection Plugin or the Lightwire skin, the editing of the fields does not work as expected. I attached a screen-capture (with audio) to show the problem. I can export the fields if you want to recreate this. pro-fields-table-adminonsteroids.mp4
  10. Yes, i try to support all filterboxes. Sadly right now I am busy with some projects. Hope I find the time to finish this soon.
  11. Hey @tpr, I am working on some modifications so that the quick-filter works with ProcessWire´s design philosophy. Right now I got it working for AdminThemeDefault and AdminThemeReno. I am working on AdminThemeUikit compability, which needs some markup modifications. I attached some actual screenshots (AdminThemeUikit is stilll work in progress, so not the final output). What do you think of these modifications? Are you interested in merging them if I create a pull request?
  12. @Salemoche Obviously this is the same question you asked on Maybe give me an upvote there if my solution helps you. Here is my answer again: This is most likely a problem with caching. Please read for example, to understand what browser caching is and what task it accomplishes. On this page under "Common caching issue" you find your problem. If you are using Chrome, open the Dev Tools (F12) and under the Network tab check "Disable cache". In Firefox open the Firefox Toolbox (also F12) and under Settings > Advanced settings check "Disable HTTP-Cache if Toolbox is open" (I translated this from a german Firefox). After that make changes in your CSS file and reload the page. If your changes appear then you know you stumbled into one of the pitfalls of browser-caching. There are many strategies to deal with this "problem". Take a look at for some solutions.
  13. @Nico Knoll Wenn du mir die Zugangsdaten gibst, würd ich das sogar ändern.
  14. @nickie Any update or showcase for the site?
  15. I think the two modules should be merged, as they both serve module specific tasks.