Exit Modal provides a simple way to display a block as an exit popup modal. When a user makes a move to close the current browser tab, the modal appears. The content of the modal can be text or the contents of another block.
Bounce Convert also allows for the creation of exit popups but is limited to displaying Webforms, whereas this module can display any block content. This includes blocks provided by other modules. An example use-case for this module: placing a Mailchimp list sign-up form in an exit modal. If you're happy to use Webforms and need a some extra functionality, go with Bounce Convert, otherwise Exit Popup provides a quick and simple way to get those conversions!
Installation
- Download and unpack the Exit Modal module directory in your modules folder (this will usually be "sites/all/modules/").
- Go to "Administer" -> "Modules" and enable the Exit Modal module.
Dependencies
Just Colorbox.
Configuration
The module creates a new block called "Exit Modal" which can be configured through the blocks page: "Structure" -> "Blocks". You can choose to display custom markup or the contents of another block. Place the block just as you would any other block.
You can also display the block in its region as normal by ticking "Also show on page". Triggering the exit modal requires a certain user behaviour, which may not always happen. This option provides a backup.
You can control the appearance of the popup through the Colorbox settings: "Configuration" -> "Media" -> "Colorbox".
Troubleshooting
If the Exit Modal block does not appear, double check the visibility settings for the Exit Modal block. Also check the visibility settings and permissions for the target block, if you are using this option, as they will affect whether the block is displayed too.
Project page
Core version
7.x
Git clone command
git clone --branch 7.x-1.x https://git.drupal.org/sandbox/rob.costello/2775329.git exit_modal
Comments
Comment #2
rob.costello commentedComment #3
ganesh_kumar commentedHi rob.costello,
Few tweaks are here fix the automated pareview issues too and the issues are listed in the given below url.
Upload the sanbox url from your project
Change the version to work from "Default Branch"
Remove "version" from the ./exit_modal.info file
Remove the license.txt in the module it will updated only by Drupal community
Automated Review
Fix all the Pareview issue listed in the given url http://pareview.sh/pareview/httpsgitdrupalorgsandboxrobcostello2775329git
Manual Review
The starred items (*) are fairly big issues and warrant going back to Needs Work. Items marked with a plus sign (+) are important and should be addressed before a stable project release. The rest of the comments in the code walkthrough are recommendations.
If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.
This review uses the Project Application Review Template.
Comment #4
PA robot commentedWe are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #5
rob.costello commentedThanks for your review, Ganesh. I think I've tackled all those issues.
This module is intended to be a replacement for Bounce Convert for those who require a quick solution and don't need the extra baggage that that module provides.
Thanks,
Rob
Comment #6
arun ak commentedI installed this module. But I couldn't make it work as defined in project page. Please explain more like how and where I can change configurations. Also I am getting following warning after install this module.
Also if I am assigning any block which has no scope to the current page(eg: Author Pane) then I am getting below warning message.
Thanks,
ARUN AK
Comment #7
rob.costello commentedThanks for your review Arun,
I've fixed a number of bugs and warnings on the module so hopefully it should be working for you now. I've also added some troubleshooting info in the project page and help. Please let me know how you get on with it.
Thanks,
Rob
Comment #8
arun ak commentedThis functionality is already available in Bounce Convert module. I am feeling this module only replicating the minimal functionality of Bounce Convert module.
Thanks,
ARUN AK
Comment #9
rob.costello commentedHi Arun,
This module offers functionality that Bounce Convert does not. BC only allows you to place webforms in the modal, whereas this module allows any block content to be displayed. We have had two recent situations which prompted the creation of this module:
There are a number of support requests on the Bounce Convert issues queue asking for the functionality that this module could provide: here, here and here. In each case, they're "Won't Fix".
I'm happy to let this one go if there is genuine duplication, but I don't believe this is the case with Bounce Convert.
Thanks,
Rob
Comment #10
arun ak commentedHi rob.costello,
That sounds great!!! If this module can add user registration and fivestar rating blocks in to exit popup then it will be an additional functionality to the Bounce Convert.
I have done one more round of review and found couple of things.
variable_get()function to use value if variable is not set. eg: usevariable_get('exit_modal_type', 'text')instead ofempty(variable_get('exit_modal_type')) ? 'text' : variable_get('exit_modal_type')in line 48 in exit_modal.module. Fix in all places. Refervariable_get().Thanks,
ARUN AK
Comment #11
rob.costello commentedHi Arun,
Thanks for your in-depth feedback. I just got a chance to look at this again.
Done.
Done.
I agree it's an extra step but using the block interface has some benefits. We can use the block visibility settings to easily hide or show the popup on certain pages and for certain users. In certain cases it may be useful to actually display the block content on the page. E.g. if you have a newsletter signup, mobile users won't see the exit popup as their behaviour won't trigger it, but we can still show the newsletter signup on the page as a fallback. It was simple to do this in CSS, but I've added a checkbox to make this configurable.
You can see this concept in action on our blog. Scroll to the end to see the signup form.
Comment #12
rob.costello commentedComment #13
mlevasseur commentedSome nitpicking:
README.txt: manually wrap text around 80 characters.
exit_modal.js: include a block comment (/** */) for your behavior defining what the attach function does.
exit_modal.module: inline comments (//) should end with a period.
exit_modal.module: It's better to wrap strings containing apostrophes in double quotes rather than single quotes and having to escape the ', especially in t() strings. (ex. line 99)
exit_modal.module Lines 148, 150, 167: You're forgetting to pass in a default value to variable_get().
Otherwise, good work.
Comment #14
rob.costello commentedHi Mathew,
Thanks for your feedback. I've made those changes. Also did a thorough bit of user testing, no errors or warnings with any of the various settings. Please let me know if you spot anything else.
Thanks!
Comment #15
arun ak commentedHi rob.costello,
I reviewed it again and it seems like you have fixed the issues mentioned in comments. Exit modal functionality is working fine as defined.
I have one suggestion that you can consider in future development, currently the exit modal is activating every time user loads the page. Sometimes it feels annoying to the user. It would be better to have a configuration to setup how many times need to display exit modal popup for a user or a settings to define certain time interval to display exit modal popup.
Otherwise looks good to me and giving RTBC.
Thanks,
ARUN AK
Comment #16
rob.costello commentedComment #17
rob.costello commentedComment #18
avpadernoI will update your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!
Thank you, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks go the dedicated reviewer(s) as well.
Comment #19
rob.costello commentedExcellent news. Thanks kiamlaluno and reviewers.