Jump to content

mcsg

Friends
  • Posts

    149
  • Joined

  • Last visited

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by mcsg

  1. How can I manage what groups can see different aspects of member profiles?

    For instance, for RSVP events, Guests should not be able to view a member's RSVP events. Or posts.

    And same for all activity in a member's profile. How does an admin hide the purchases, or Pages Databases from a Member's profile? Or from all profiles?

    Ideally:
    I do not want guests to be able to view other members profiles and data unless the member (or an admin) has chosen to have them fully public.

    How do I (as an admin) selectively allow the different Member Profile sections to be viewable or not? By Group, by section?

    image.thumb.png.e5c0777b8abb6db63ad0699f47d646fb.png

    image.png.b5335e29546851d8128606b343438a02.png

  2. Hi @CodingJungle I have this odd behavior with MGM where the page seems to refresh for what seems like no reason at all.

    We might hover over a menu item or click somewhere in the header and the page reloads. Is this because we are force replacing the IPS menu?

    Is there a better way (as in changing the page template) to not force the IPS menu to be hidden?

    AND... Can you explain the menu setting Skip More... ? I cannot figure this one out. image.png.095fd22e0e48cd5cac88c5dcfc87ac62.png

    Thanks!

     

  3. 5 hours ago, realspezz said:

    IPS askes for their first and last name during checkout, the billing address part is passed to Stripe but not the name portion.

    Thanks, I have that too, but my confusion comes from testing checkouts with existing customers. On that page, it does not show who is checking out when the address is known by IPS. Is there some way to ALWAYS show the name and other required customer fields (other than expecting the user will hit EDIT each time) when selecting the shipping/billing?

    image.png.ced81972e182e155bbb556261a7e93cd.png

  4. 11 hours ago, realspezz said:

    Same here, apparently they should be passing the name entered with billing information but it seems they are not. Could a admin/dev comment on this?

    @realspezz When the card is requested, I do not see a field asking for the Customer Name or Card Holder Name. Do you have one?
    I think IPS could send the Customer Name, but that could be different than the Card Holder name.


     

  5. Thank you @bfarber. To sum up in case others come across this.

    In order to display a Custom Field information in a Pages Database, determine the Pages <database_id> (a number) and use the following template code.
    In this case, I am iterating over the custom fields that are marked to display above the content ('display_top') in the DatabaseTemplates > RecordDisplay > Record template.
     

    {{foreach $record->customFieldsForDisplay('display_top') as $fieldId => $fieldValue}} <!-- fieldId is the field template identifier -->
      {{$field = \IPS\cms\Fields<database_id>::load( $fieldId, ‘field_key' );}} <!-- gets the field object -->
     
      Template Code: {$fieldId}<br/>
      Field ID: {$field->_id}<br/>
      Label: {$field->_title}<br/>
      Desc: {$field->_description}<br/>
      OR<br/>
      Label: {expression="\IPS\Member::loggedIn()->language()->addToStack( 'content_field_' . $field->_id )"}<br/>
      Desc: {expression="\IPS\Member::loggedIn()->language()->addToStack( 'content_field_' . $field->_id . '_desc' )"}<br/>
    
      Value: {$record->customFieldDisplayByKey($fieldId,'processed')|raw}
    {{endforeach}}

     

  6. On 9/27/2020 at 8:38 PM, jaeitee said:

    Use phpMyAdmin or something similar (I like TablePlus https://tableplus.com/ personally ) and open your custom_database_x table.

    Check your custom fields (ie: field_50, field_51) etc all match your old database.

    If they do not match: 
    Clone custom_database_x table.
    Rename the old field_x numbers to match the new field_x numbers.
    Optionally I reorder the field structure to help visually reading the database, otherwise don't worry about this.

    If they do match or after completing the step above:
    Copy the rows from the old database and paste them straight in to the new database.

    Warning: Make sure you have backups before doing this, personally I just clone the whole custom database table as I find that's easiest to revert if something goes wrong.

    My last import this way was 1738 records as I merged two separate Pages databases, no issues so far 🙂 

    Screen Shot 2020-09-28 at 11.36.13 am.png

    @jaeitee Thanks for the step by step.

    How do you handle tags? And images?

    Have you migrated any related databases (e.g. People records inside Company records)? Those records are in a many-many table `cms_database_fields_reciprocal_map`

     

     

     

  7. 1 hour ago, bfarber said:

    Inside the loop you have $fieldId, so you could do this:

    
    {{$field = \IPS\cms\Fields<database_id>::load( $fieldId );}}
    Label: {$field->_title}
    Description: {$field->_description}
     

    Alternatively, they're just language strings with the key "content_field_<field_id>" and "content_field_<field_id>_desc" so you could use

    
    Label: {expression="\IPS\Member::loggedIn()->language()->addToStack( 'content_field_' . $fieldId )"}
    Description: {expression="\IPS\Member::loggedIn()->language()->addToStack( 'content_field_' . $fieldId . '_desc' )"}

     

    @bfarber Tried the above and $fieldId is the template key, not the numbered ID of the field.

    So in the example:

    {{foreach $record->customFieldsForDisplay('display_top') as $fieldId => $fieldValue}}
      custom field template key: {$fieldId}
      custom field data: {$record->customFieldDisplayByKey($fieldId,'processed')|raw}
    {{endforeach}}

    Will result in:

      custom field template key: programs_key
      custom field data: programs data

      custom field template key: note_key
      custom field data: These are the notes

      custom field template key: salary_key
      custom field data: 40000

     

    How do we get the FIELD ID number for each of the custom fields?

     

  8. In a Pages DB display template, I can get custom field data with
     

                        {$record->customFieldDisplayByKey('programs')|raw}

    And In the Display are of the field, I can set the {$label} and the {$value} as well as use the {$formValue}

    But what I really need to do is access the custom field's Name (label) and Description from within the Record Display template.

    Is that possible?Something like:

    {{foreach $record->customFieldsForDisplay('display_top') as $fieldId => $fieldValue}}
    	custom field key: {$fieldId}
    
      // this doesn't exist, does it?
      {$record->customFieldDisplayByKey($fieldId,'LABEL')|raw}
      {$record->customFieldDisplayByKey($fieldId,'DESCRIPTION')|raw}
      // this doesn't exist
    
    {{endforeach}}

    Thanks.

  9. @Afrodude Yes thanks for this solution. They can access the source code, but unfortunately, in most cases, they do not want to. 😉 I think there is partial fear of messing something up.

    @DavycYes, thank you, this is a good idea as an add on. They do not place them in buttons typically, but I will add this to give them the option. Before I install, is that from the CKEditor repository, or something separate you created?

    The solution I've implemented so far is to use the original plugins from the CKEditor site and, with permissions, restrict them to Admin,Editor,Writer use. It works great, but I would like to figure how to stop the IPS Link window from appearing when we double-click the link. We're running 4.4.10 so using CKeditor 4.13.1. Here's what I added:

    https://ckeditor.com/cke4/addon/link

    https://ckeditor.com/cke4/addon/fakeobjects

    The FakeObjects is required to run the Link add on.

  10. Thanks @Kyle F I am self hosting on AWS servers. I should have been more specific, we're building a new site and content on a separate server and will move the content to the production server when we're ready.

    So to answer @Nathan Explosions question, it is content. Like Pages articles where our editors are adding internal links and references to the site, but need to change https://staging.domain.com/news/this-is-an-article --> https://www.domain.com/news/this-is-an-article in all the Editor fields within a database.

     

     

  11. What is the best process for moving between 2 different servers and hosts?

    We're building the system on HOST.DOMAIN.COM and aim to deploy to PRODUCTION.DOMAIN.COM

    Are there tools or best practices to move the data to use the new host? Or is search and replace for the database our best method?

     

  12. When writing an content using the editor for a Pages database content field, I would like to allow our editors to use a variable for the base URL so that when we move from staging/dev to prodcution, it will pickup the the change in base_url no matter what system it might be running on.

    Is there a way to write the variable into the Editor field so it will be picked up correctly when moved to a different host or domain?

    For example: 

    Here is the link: {base_url}/our-internal database

     

×
×
  • Create New...