Results 1 to 11 of 11

Thread: How can I easily make a "custom product" application?

  1. #1
    Join Date
    May 2009
    Rochester, NY

    How can I easily make a "custom product" application?

    Take a look at sites like Zazzle - http://www.zazzle.com/cr/design/pt-mousepad. Business card companies have them too.

    You can lay out elements on a screen and upload images to make a custom product.

    I am interested in creating an application like this. Is there a way I can do it with relative ease? Will it require thousands of programming hours, or is there an app or prebuilt script out there I can use to create similar applications? I am very interested in doing this.


  2. #2
    Join Date
    Oct 2003
    Andover, UK
    This is pretty advanced, so it depends on your level. Something like this will likely involve something server-side (e.g. PHP) too to store the product, cookie, etc.

    You're likely to get replies on here if you ask something specific or at least show you've put the effort in to start. People very rarely hand you ready-made examples on a plate. Just a tip

  3. #3
    Join Date
    May 2009
    Rochester, NY
    I'm proficient. I can handle coding. Give me a long time and I could make one of these... but it would take me a long time.

    How about just adding images and text? Would this be possible? The user should be able to move the position of the text and uploaded images. No saving necessary.

  4. #4
    Join Date
    Oct 2003
    Andover, UK
    Yeah, no reason that couldn't work, it's just a question of how you code the drag functionality. Personally I'd write a **** load of events to listen for mousedown and mouseup, see where it landed, etc. But if you want to ensure items don't overlap, etc etc, JQuery is far better at this sort of thing.

    How's your events?

  5. #5
    Join Date
    May 2009
    Rochester, NY
    No events yet. I haven't started. I want to make sure I can handle this before I take on such a project.

  6. #6
    Join Date
    Oct 2003
    Andover, UK
    I would strongly suggest reading up on events, then.

    A few weeks ago I was in a similar position; I needed to build a sort of iGoogle thing, with moving panels and the like. I learned a lot about event handling, in different browsers, etc.

    You would set up your events to listen for onmousedowns on the various objects that you want to be draggable. When it spots an omousedown on one those objects, the object's style.left and style.top are modified to move with the mouse (using a mouse position detection script). Equally, when onmouseup is detected, the object stops snapping to the mouse and stays where you left it.

  7. #7
    Join Date
    May 2009
    Rochester, NY
    Yes, I understand. I did a similar thing a couple years ago.

    Any example scripts or prebuilt apps to get this started?

  8. #8
    Join Date
    Oct 2003
    Andover, UK
    Sure - I'll dig them out in the morning and post back. 1am nearly here, work in the morning, bed calls ))

  9. #9
    Join Date
    May 2009
    Rochester, NY
    Wow, thanks!

  10. #10
    Join Date
    Oct 2003
    Andover, UK
    Sorry this is later than I said. I've just written the attached file. It's heavily commented. See how you get on. Its principles are this:

    1) tell the doc to listen for mouse events. the mouse position is constantly tracked as the mouse moves.

    2) when a mousedown is detected, find out if it was on an element that we allow to be dragged and dropped (these elements have the classname 'draggable' - see bottom)

    3) if it's a draggable element, start the drag procedure: we're tracking the mouse position anyway, so just set the top and left properties of the dragged element equal to those of the mouse position, so it looks like it's being dragged.

    4) when mouseup is detected, stop dragging

    Buzz me if you have questions.

  11. #11
    Join Date
    May 2009
    Rochester, NY

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.13594 seconds
  • Memory Usage 2,955KB
  • Queries Executed 15 (?)
More Information
Template Usage (32):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (11)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (11)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (73):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • bbcode_parse_start
  • postbit_imicons
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates